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?
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.
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%Tags und Links google-maps google-maps-api-3