Ich benutze MarkerClusterer. Wenn ich zwei oder mehr Markierungen an genau derselben Stelle habe, zeigt die API nur eine Markierung an - die oberste. Aber irgendwie möchte ich alle Markierungen zeigen, da jedes einzelne Popup öffnen wird. Ich habe gesucht, einige Lösungen gefunden, aber keine scheinen zu funktionieren Jeder hatte ähnliches Problem und würde pls teilen eine Lösung?Mehr als ein Marker an der gleichen Stelle - MarkerClusterer
11
A
Antwort
23
Endlich hat es funktioniert. Dies ist für alle diejenigen, die noch keine Lösung gefunden haben. Im Folgenden Code auf die Markierungen auf dem gleiche Lage versetzt ergänzt:
In Ihrer createMarker
Funktion diesen Code hinzu:
//get array of markers currently in cluster
var allMarkers = namespace.mapParams.mapMarkersArray;
//final position for marker, could be updated if another marker already exists in same position
var finalLatLng = latlng;
//check to see if any of the existing markers match the latlng of the new marker
if (allMarkers.length != 0) {
for (i=0; i < allMarkers.length; i++) {
var existingMarker = allMarkers[i];
var pos = existingMarker.getPosition();
//if a marker already exists in the same position as this marker
if (latlng.equals(pos)) {
//update the position of the coincident marker by applying a small multipler to its coordinates
var newLat = latlng.lat() + (Math.random() -.5)/1500;// * (Math.random() * (max - min) + min);
var newLng = latlng.lng() + (Math.random() -.5)/1500;// * (Math.random() * (max - min) + min);
finalLatLng = new google.maps.LatLng(newLat,newLng);
}
}
}
Jetzt Ihr google.maps.Marker
Objekt für jeden Marker mit neuem Positionswert Update - finalLatLng
.
var marker = new google.maps.Marker({
map: msf_namespace.mapParams.resultmap,
position: finalLatLng,
title: name,
icon: markericon
});
//add each generated marker to mapMarkersArray
namespace.mapParams.mapMarkersArray.push(marker);
Verwandte Themen
- 1. Google Maps: Render Marker über Markerclusterer
- 2. Zwei Marker an der gleichen Position
- 3. mehrere Marker an der gleichen Adresse Position zeigen
- 4. Animate Cluster von Markerclusterer
- 5. Wie man zwei Komponenten an der gleichen Stelle setzt
- 6. finden Sie Werte in 3 Arrays an der gleichen Stelle
- 7. JavaFX: Zwei oder mehr Fenster an der gleichen Position
- 8. Modifizieren MarkerClusterer Symbole für Bestnote, anstatt Marker Zahl
- 9. Update Mehrere Excel-Dateien an der gleichen Stelle
- 10. iPhone 3.0 MapKit - Mehrere Annotationen an der gleichen Stelle
- 11. Feuerereignis nachdem MarkerClusterer fertig ist
- 12. Wie fixed div der Höhe mehr als Ansichtsfenster an Körper
- 13. entfernen Liste Elemente, die mehr als einmal an der richtigen Stelle erscheinen
- 14. Zeichnen mehr als eine Funktionskurven in der gleichen Parzelle
- 15. AJAX Aufruf der gleichen Funktion nicht mehr als 50 Datensätze
- 16. Stelle CameraPosition auf meinen Standort ein, zeige aber auch andere Marker an
- 17. Mehr als eine benutzerdefinierte Zelle mit in der gleichen XIB
- 18. Join Tabelle mehr als einmal in der gleichen Abfrage?
- 19. Angular 2 Mehr als eine Komponente auf der gleichen Seite
- 20. Welches ist der beste Weg, mehr als ein Strings in der gleichen Methode in C#
- 21. Schließen Sie ein Menü an beliebiger Stelle
- 22. Wie man die Ansicht/das Objekt an der gleichen Stelle auf verschiedenen iPhone-Größe anheften?
- 23. Immer mehr als ein Wert
- 24. Mehr gleichen PartialsViews und Json
- 25. auf mehr als ein Anwendungsserver
- 26. Ist es möglich, mehrere Teilklassen an der gleichen Stelle mit der SomeForm.Designer.cs-Datei zu stapeln?
- 27. Tippen Sie auf ein Element, das auf ein anderes Element klopft, das an der gleichen Stelle auf dem Handy erscheint.
- 28. angezeigte Gesamtzahl als Text für mehrere Stifte an der gleichen Stelle in der Karte mit einem Stift in android
- 29. Android-Fragment an der falschen Stelle
- 30. SQL Server BCP trifft ungültige Zeichen an der gleichen Stelle in der Datei
möglich Duplikat [Integration Spiderfier JS in markerClusterer V3 Multi-Marker mit exakt gleicher long/lat explodiert] (http://stackoverflow.com/questions/9726920/integrating-spiderfier-js-into-markerclusterer -v3-to-explode-multi-markers-with) – geocodezip
@geocodezip gibt es eine Möglichkeit, es ohne overlappingMarkerSpiderfier zu arbeiten, da es nicht die Notwendigkeit erfüllt. Zeige die Marker mit wenig Platz, nur um zu wissen, dass es zwei oder mehr Marker gibt. Vielen Dank. – Grish
Natürlich gibt es. Codiere es einfach, um das zu tun. Oder ändern Sie die Eingabedaten, sodass keine Duplikate vorhanden sind. – geocodezip