Google map marker sprite-position
Wie können wir die position des sprite-Bild als Google-map-marker. ZB: In css positionieren wir uns das Bild, wie
background: url('../images/bodycss/pointer.png') 28px -32px;
Nun, wie kann ich den oben genannten code, um die unter google-api-v3 Funktion ?
function setMarkers(map, markers) {
var google_image = new google.maps.MarkerImage("http://example.com/images/bodycss/pointer.png");
for (var i = 0; i < markers.length; i++) {
var sites = markers[i];
var siteLatLng = new google.maps.LatLng(sites[1], sites[2]);
var marker = new google.maps.Marker({
position: siteLatLng,
map: map,
title: sites[0],
zIndex: sites[3],
html: sites[4],
icon: google_image
});
google.maps.event.addListener(marker, "mouseover", function () {
infowindow.setContent(this.html);
infowindow.open(map, this);
});
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen MarkerImage von einem sprite-image, die Sie benötigen, um den Ursprung festzulegen und die Größe der Abschnitt des Bildes, das Sie verwenden möchten, erstellen Sie das Symbol.
Können Sie einen Blick auf diese Blog-post, das beschreibt es gut
Update- Siehe diesen arbeiten Fiddle- DEMO
Habe ich dieses Bild- http://www.ipreferjim.com/site/wp-content/uploads/2012/10/markers.png?9d7bd4 und angepasst, die Größe und die Punkt-Werte für das Symbol.
Bevor die MarkerImage Klasse wurde als veraltet markiert (was bedeutet, es ist zwar noch unterstützt, sollte aber ersetzt werden) zugunsten der Icon-Objekt, haben Sie vielleicht etwas geschrieben, wie dies für ein einfaches Bild:
Nun, mit dem Symbol Objekt, das Sie schreiben würde:
Beachten Sie die zusätzlichen scaledSize parameter: für einfache Bilder, das ist die Größe des ursprünglichen Bildes - in diesem speziellen Fall ist die gleiche wie die Größe der parameter.
Für sprites, wo Sie mehrere Bilder in einem einzigen Bild-Datei, die Sie verwenden könnte, so etwas wie dieses:
Beachten Sie, dass in diesem Beispiel die Herkunft angegeben wurde als (0, 32) in einem sprite mit mehreren 16*16-pixel-Bilder: so hier sind wir der Auswahl der Dritten Bild im sprite. In dem Teil des Bildes, setzen wir den Anker (8, 8), d.h. in der Mitte des ausgewählten Teil des Bilds angezeigt werden. Endlich, die scaledSize bezieht sich hier auf die Größe der gesamte sprite.
Können Sie die
anchor
Eigenschaft einesMarkerImage
die, wie dokumentiert hier überschreibt die Standard-position:p.s. MarkerImage ist veraltet, und Sie sollten überlegen, Symbol statt.