google maps api mehrere Marker mit info-Fenster
nur immer meine Zähne versenkt in google maps API.
Ich bin versucht, plot ein paar Marker auf einer Karte. Getan. Allerdings bin ich recycling eine variable/Objekt für jeden marker.
Ich zunächst legen Sie marker-Optionen, und fügen Sie der Karte, dann nehmen Sie die gleichen marker-variable, nutzen Sie es und fügen Sie es auf die Karte wieder. Dies bringt zwei einzigartige Marker mit individuellen title-tags.
Möchte ich anzeigen ein Infofenster für jeden marker, bin aber im Zweifel, was ist der beste Weg, es zu tun. Ich sehe auch ein trouble-flag aufspringen mit der Zuweisung klicken Sie auf Ereignisse, um die einzelnen marker, so wie ich bin, mit der gleichen variable hinzufügen jeder Marke, ich bin nicht sicher, wie Sie Sie hinzufügen, um das click-Ereignis, um die einzigartige Marker (durch name, als name ist der gleiche für beide, da es nie erhält keine id?)
var marker_obj = new google.maps.Marker({
position: myLatlng,
title:"This is Marker 1",
});
marker_obj.setMap(map);
marker_obj = new google.maps.Marker({
position: myLatlng,
title:"This is Marker 2",
});
marker_obj.setMap(map);
Für die Erstellung des info-Fenster, ich dachte, die eine variable/Objekt zu halten, das info-Fenster, und klicken Sie dann zweckänderung es mit neuen text in die einzelnen marker klicken-Ereignis.
Fragen, die ich habe sind:
1: Sollte ich eine seperate einzigartige variable/Objekt für jeden marker (Gemeinkosten?), wenn nicht, wie erkenne ich das click-Ereignis.
2: Ist es in Ordnung zu Wiederverwendung (re-assign) das info-Fenster-Objekts mit new text, bevor Ihr aufgetaucht, oder sollte ich schaffen eine einzigartige Infofenster für jeden marker?
Ich bin ein bisschen ein Java-n00b, so dass jede Hilfe wäre sehr geschätzt werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du bist auf dem richtigen Linien. Haben ein Infofenster Objekt, genauso wie Sie ein marker-Objekt. Dann wird der Inhalt des Infofenster ändert sich je nachdem, auf welche Markierung Sie auf. Eine Sache zu beachten (dies geschieht auch, wenn Sie das erstellen von Markern innerhalb einer Loop-Schleife), ist, dass die Gefahr besteht, dass alle infowindows am Ende mit dem Inhalt des letzten. Also erstellen wir eine neue Funktion, die updates der Inhalte.
Auch, nebenbei bemerkt, Sie haben nicht nennen der setMap () - Funktion auf Ihre Markierung von Objekten anzugeben, können Sie nur die Karte, Attribut in den Optionen, die Sie übergeben, wenn Sie beim erstellen der Marker.
Dann eine neue Funktion:
erstellen globaler Infofenster Objekt.
var infowindow = new google.maps.InfoWindow();
hinzufügen und Zuhörer für Ihre globalen marker.