Verwendung der neuesten Version von Google Maps. Wie fügt man Marker mit Längen- und Breitengrad hinzu und passt automatisch die Zoomstufe der Karte an, um alle Marker mit JavaScript einzubinden?Automatische Anpassung des Zooms zur Aufnahme aller Markierungen in einer Google-Karte
Antwort
Google Maps API v3 bietet ein LatLngBounds
Objekt, zu dem Sie mehrere LatLng
Objekte hinzufügen können. Sie können diese dann zu Map.fitBounds()
Funktion übergeben, wie hier beschrieben:
- Zoom-To-Fit All Markers, Polylines or Polygons on A Google Map - API v2
- Zoom-to-Fit All Markers on Google Map v3
Teil Beispiel
var latlng = [
new google.maps.LatLng(1.23, 4.56),
new google.maps.LatLng(7.89, 1.01),
// ...
];
var latlngbounds = new google.maps.LatLngBounds();
for (var i = 0; i < latlng.length; i++) {
latlngbounds.extend(latlng[i]);
}
map.fitBounds(latlngbounds);
Sie fügen Marker zur Karte google durch ein marker Objekt für jeden Ihrer Breite/Länge Paare Instanziierung:
var marker = new google.maps.Marker({
position: currentLatLng,
map: map,
title:"Title!"
});
Die map Option auf den Marker constructer wird den neuen Markt Objekt mit Ihrer Karte zuzuordnen.
Um Ihre Karte zu vergrößern, um Ihre neuen Markierungen einzuschließen, verwenden Sie die fitBounds Methode auf dem Objekt map. fitBounds verwendet ein Objekt latLngBounds als Parameter. Dieses Objekt verfügt über eine handliche extend Methode, die die Grenzen anpassen, um eine neue Breite/Länge zu enthalten. Sie müssen also nur alle Ihre Punkte durchblättern und extendieren auf einem einzigen latLngBounds-Objekt. Dadurch werden die Grenzen so erweitert, dass sie alle Ihre Marker enthalten. Sobald Sie dies getan haben, übergeben Sie dieses Objekt in die fitBounds Methode auf der map und es wird zoomen, um alle Ihre neuen Marker anzuzeigen.
obwohl Sie die richtige Antwort zur Verfügung gestellt * zuerst * .. wie üblich gingen die meisten Punkte zu der anderen * selben * Antwort, die tatsächlich einen Beispielcode hatte .. – abbood
@abbood Danke für den Tipp;) – RedBlueThing
- 1. Automatische Anpassung Bild
- 2. Automatische Konstruktor Anpassung in Standardmethode
- 3. WiX automatische Datei Aufnahme
- 4. IOS6 Verhindern/Begrenzen des Zooms in einer MKMapView
- 5. Automatische Anpassung der Ränder im horizontalen Balkendiagramm
- 6. Anpassung des Registrierungsformulars in Prestashop
- 7. Automatische Eingabe aller Eingaben in WPF
- 8. Aktivieren/Deaktivieren der Spaltenbreite Automatische Anpassung in GridView
- 9. jQuery UI .position() zur dynamischen Anpassung
- 10. Automatische Breite des Fehlerlabels
- 11. Methoden zur modularen Anpassung von Sprachnachrichten?
- 12. Web-Anwendung zur Anpassung der virtuellen Gitarre
- 13. HTML CSS automatische Anpassung der vollen vertikalen Länge (Höhe)
- 14. regex zur Anpassung und ohne den Rest
- 15. Aufnahme von einer Datei in Java
- 16. Automatische Anpassung der letzten Menü div mit Schwimmer
- 17. Wie wird die Tabellenansichtszelle zur Anpassung an die Beschriftung eingestellt?
- 18. Automatische Ausführung des Programms in Netlogo
- 19. Wie kann man in Google Maps nach benutzergenerierten Zooms suchen?
- 20. Erforderliches Attribut zur Anpassung der Optionsschaltfläche in HTML
- 21. Automatische Ermittlung des Kreditkarten-Typs
- 22. Flash - Aufnahme von der Webcam des Benutzers
- 23. Begriff zur Darstellung aller möglichen Werte einer Variablen
- 24. Automatische Generierung einer Schnittstellenimplementierung in C#?
- 25. Automatische Eingabe des Anmeldeformulars erkennen
- 26. Anpassung Logout-Funktion zur Behandlung von Safari zurück Schaltfläche Problem
- 27. Wählen Sie einen Bereich zur Aufnahme mit der Maus
- 28. Vierteljährlicher Prozess zur Validierung aller Logins
- 29. Aktienkurs Anpassung in Python
- 30. Optimale Bildschirmauflösung zur Aufnahme von Bildschirmdarstellungen für eine Demo
BTW: Wenn Sie mit einem Array von Markern arbeiten, können Sie die Markerposition mit der 'getPosition()' Methode erhalten. –