Hier ist mein Code (der meiste Code von der API-Seite von Google).
%Vor%Was ich einfach tun möchte, ist nur die Marker neu zu laden. Ich habe versucht, die Karte mit Initialisierungsfunktion neu zu laden, aber es hat nicht funktioniert. Dann habe ich versucht, mit setMarkers Funktion neu zu laden und immer noch kein Glück ...
Danke für Ihre Hilfe.
Wenige Dinge, die Sie tun sollten / Dinge, die ich von Ihrem ursprünglichen Code geändert habe:
animation: google.maps.Animation.DROP,
hinzugefügt, so dass Sie sehen können, wann sie neu geladen werden, und eine Markierungen neu laden , um die Funktion zum erneuten Laden aufzurufen. Was Sie im Grunde tun möchten, ist:
setMarkers
markers
-Array setMap(null)
auf jedem Marker auf, um es aus der Map zu entfernen setMarkers
erneut auf, um Ihre Marker erneut zu zeichnen Aktualisierter Code:
%Vor%Arbeitsbeispiel:
Um die Marker neu zu laden, drücken Sie sie beim Erstellen auf ein Array.
Dann erstellen Sie eine Funktion, in der Sie das Array durchlaufen und die Marker-Map als null setzen. Danach löschen Sie das Array.
Bearbeiten: Ich gehe davon aus, dass Sie ein JSON mit der folgenden Struktur auf Ihrem PHP zurückgeben werden
%Vor%Ich nehme auch an, dass Sie jQuery verwenden werden (nur um den Ajax-Aufruf und die Json-Iteration zu vereinfachen)
%Vor%Grundsätzlich, jetzt, alle 5 Sekunden Ihr Javascript eine Ajax Anfrage an Ihre PHP, Ihre PHP wird eine aktualisierte JSON mit den neuen Stränden, Sie werden die alten Markierungen entfernen, füllen Sie das Array mit den neuen Standorten und generieren Sie die neue Markierungen.
Dies mag nicht der anfängliche Zweifel sein, aber um die Marker und andere Komponenten der Karte zu löschen, setzen Sie kurz vor dem Laden der Karte und ihrer Komponenten:
%Vor%Tags und Links javascript google-maps google-maps-api-3