2012-08-29 13 views
9

Używam poniższy kod aby otrzymać lokalizację użytkownika w PhoneGap (działa poprawnie)Jak podświetlić bieżącą lokalizację użytkownika w mapach google?

function getLocation() { 
    var win = function(position) { 
     var lat = position.coords.latitude; 
     var long = position.coords.longitude; 
     var myLatlng = new google.maps.LatLng(lat, long); 

     var myOptions = { 
      center: myLatlng, 
      zoom: 7, 
      mapTypeId : google.maps.MapTypeId.ROADMAP 
     }; 
     var map_element = document.getElementById("displayMap"); 
     var map = new google.maps.Map(map_element, myOptions); 
    }; 

    var fail = function(e) { 
     alert('Error: ' + e); 
    }; 

    var watchID = navigator.geolocation.getCurrentPosition(win, fail); 
} 

to działa dobrze przez centrowanie bieżącą lokalizację użytkownika na mapie. Ale chciałbym pokazać wskaźnik (czerwoną kropkę) na miejscu użytkownika. Ale widzę, że Google API udostępnia tylko 3 opcje centrum, zoom i mapTypeId.

Czy są jakieś dostępne opcje, które można wykorzystać do wyróżnienia pozycji lub czy istnieje obejście problemu?

EDIT

był w stanie znaleźć, że Google Maps API ma markera ho zaznaczenie dowolnej pozycji. To wygląda na przydatne, ale pokazuje domyślny czerwony dymek, czy można go zmodyfikować niestandardowym obrazem?

Odpowiedz

12

Możesz użyć nowo wydanego GeolocationMarker, który jest częścią Google Maps API Utility Library.

Dodaje znacznik i okrąg dokładności w bieżącej lokalizacji użytkownika. Pozwala również programistom dostosować znacznik za pomocą metody setMarkerOptions i określić właściwość icon.

4

Zastosowanie ikona wewnątrz znacznika jak

var Marker = new google.maps.Marker({ 
     map: map, 
     animation: google.maps.Animation.DROP, 
     position: "", 
     icon: /bluedot.png 
}); 

można użyć tej google map wskazanie lokalizacji okrągła ikona niebieska kropka podobną do mapy google

enter image description here

Powiązane problemy