Erhalte die Grenzen einer Google Map v3 nach der Änderung des Zooms

7

Ich versuche, die Grenzen einer Karte zu erhalten, nachdem sich der Zoom geändert hat. Das Ereignis zoom_changed löst jedoch aus, bevor die Grenzen neu berechnet wurden. So erhalten Sie im zoom_changed -Handler die vorherigen Grenzen, nicht die neuen Grenzen.

Gibt es eine Möglichkeit, die richtigen Grenzen für die Zoom-Änderung zu erhalten?

    
TMS 16.06.2009, 18:08
quelle

4 Antworten

17

Dies ist ein Fehler . Bitte beachten Sie dieses Problem, wenn Sie es sind interessiert.

Es gibt einen hässlichen Workaround dafür:

%Vor%     
TMS 23.11.2011 09:38
quelle
3

Aus der API-Dokumentation :

  

Wenn Sie versuchen, eine Änderung im Ansichtsfenster zu erkennen, müssen Sie das spezifische Ereignis bounds_changed anstelle der einzelnen Ereignisse zoom_changed und center_changed verwenden. Da die Google Maps-API diese letzteren Ereignisse unabhängig auslöst, meldet get_bounds () möglicherweise erst nach der maßgeblichen Änderung des Ansichtsfensters sinnvolle Ergebnisse. Wenn Sie nach einem solchen Ereignis get_bounds () erhalten möchten, achten Sie darauf, stattdessen das Ereignis bounds_changed zu hören.

    
RedBlueThing 17.06.2009 08:29
quelle
2

Um bounds_changed zu binden und nach dem Zoom mit Marker / Map Stuff zu arbeiten, benutze folgendes:

%Vor%     
Pion 05.07.2012 17:55
quelle
0

Ich hatte das gleiche Problem. Hier ist, was ich endlich arbeiten, um einige der Probleme zu lösen, die ich mit anderen Lösungen gehabt hatte.

* Erzwingt Grenzen ordnungsgemäß, unabhängig davon, ob Sie die Maus oder die Pfeiltasten verwenden

* Stoppt nicht kurz vor der Kante, wenn Sie die Pfeiltasten gedrückt halten, da die Schwenkbeschleunigung die Kante in einem einzigen Schritt "überschwingt", so dass sie stattdessen kurz endet (versuchen Sie, die Pfeiltaste in einem zu halten) Richtung, bis Sie die Kante treffen, dann loslassen und drücken Sie es erneut, und mit einigen Lösungen wird es nur ein wenig mehr scrollen)

* "springt nicht zurück", wenn es die Kante berührt

* Erzwingt bei Änderung des Zooms die Einhaltung von Begrenzungen

EDIT: Ok, also funktioniert es, wenn Sie mit dem Scrollrad den Zoom ändern, nicht aber mit dem Zoom-Regler. Lassen Sie mich ein wenig herumspielen, und ich werde sehen, ob ich das auch funktionieren kann ...

EDIT 2: Es stellte sich heraus, dass das Problem darin bestand, dass ich das Pan-Steuerelement entfernt habe. Solange der Pan-Regler vorhanden ist, funktioniert das sowohl mit dem Scroll-Rad als auch mit dem Zoom-Regler.

EDIT 3: Nein ... das war es nicht. Ich habe den Code für die Zoomsteuerung aktualisiert.

%Vor%     
qwertymodo 26.06.2013 19:22
quelle