2012-08-23 18 views
26

W mapie google zwykle centralne dno obrazu znacznika jest pierwszym punktem punktu, który ma zaznaczyć.Jak wyrównać ikonę znacznika na mapie google

Jakież było moje ikonę znacznika jest okręgiem, chciałbym centrum nim być na LAT-LNG w danym punkcie ...

Kod:

var image_hotspot = 'img/icons/bank_euro.png'; 
var marker = new google.maps.Marker({ 
     map: map, 
     position: placeLoc, 
     icon: image_hotspot 
    }); 

Odpowiedz

34

What You potrzeba jest stworzenie MarkerImage obiektu, na przykład:

var markerImage = new google.maps.MarkerImage('img/icons/bank_euro.png', 
       new google.maps.Size(30, 30), 
       new google.maps.Point(0, 0), 
       new google.maps.Point(15, 15)); 

, gdzie pierwszy parametr URL obrazu, drugi rozmiar obrazu, jest trzeci lub igin punkt obrazu, a czwarty to pozycja na obrazie, gdzie znacznik powinien wskazywać. Jeśli twój znacznik jest okręgiem, ustaw czwarty parametr na środek obrazu. i utwórz swój znacznik na przejściu markerImage ikona właściwość:

var marker = new google.maps.Marker({ 
    map: map, 
    position: placeLoc, 
    icon: markerImage 
}); 
+3

https://groups.google.com/forum/#!topic/google-maps-js- api-v3/D-7uLsch28c Mówi, że obiekt MarkerImage jest przestarzały na rzecz obiektu google.maps.Icon –

8

Od docs:

Przekształcanie obiektów MarkerImage wpisać ikona

var image = new google.maps.MarkerImage(
    place.icon, 
    new google.maps.Size(71, 71), 
    new google.maps.Point(0, 0), 
    new google.maps.Point(17, 34), 
    new google.maps.Size(25, 25)); 

staje

var image = { 
    url: place.icon, 
    size: new google.maps.Size(71, 71), 
    origin: new google.maps.Point(0, 0), 
    anchor: new google.maps.Point(17, 34), 
    scaledSize: new google.maps.Size(25, 25) 
}; 

https://developers.google.com/maps/documentation/javascript/markers

Powiązane problemy