5

Gibt es eine einfache Möglichkeit, die Begrenzungsbox einer Polylinie mithilfe von Google Maps API v3 zu finden? Ich arbeite an einem Projekt, bei dem ich die Grenzen aktualisieren muss, während Daten hinzugefügt und von der Karte entfernt werden. Dies ist ziemlich einfach, indem Sie einfach bd.extend (Punkt) eingeben, wobei bd das gebundene Objekt und Punkt ein LatLng-Objekt ist. Das Problem ist, wenn ich anfange, Daten zu entfernen, ich möchte, dass es die Schranken ändert und hineinzoomt. Gibt es irgendwelche eingebauten Funktionen, die das tun können oder muss ich etwas für mich selbst schreiben?Ermitteln der Grenzen einer Polyine in Google Maps API v3

Antwort

4

Die v2 API hatte die GPolyline.getBounds() Methode genau dies zu tun. Es scheint jedoch, dass es keine äquivalente Methode in der v3 API gibt.

Sie können dies umgehen, indem Sie die changed Eigenschaft Ihres PolylineMVCObject überschreiben, um benachrichtigt zu werden, wenn sich das Objekt im Status ändert. Dann können Sie die Begrenzungsbox mit der von Ihnen vorgeschlagenen Methode LatLngBounds.extend() berechnen.

Ich denke, dass Google diese Methoden absichtlich von der API v3 weggelassen hat, um die API leicht zu halten. Eine ähnliche Unterlassung discussed a couple of days ago on Stack Overflow war die GMap2.clearOverlays() Methode.

7

Erweiterung auf Oenpelli-Lösung ist dies die erweiterte getBounds() -Methode, die ich verwenden, um die Funktionalität von V2 API neu zu erstellen. Das funktioniert perfekt in meinem Projekt.

Denken Sie daran, dass dies hinzugefügt werden muss, nachdem die API Javascript geladen ist, also in Ihrer Init-Methode.