2016-03-27 8 views
0

Ich habe eine Web-Anwendung, geschrieben mit Angular.js und eckigen-Prospekt-Richtlinie, die eine Auswahl von Straßen auf einer Karte anzeigt. Ich habe einige Lesezeichen für die einfache Navigation zu bestimmten Bereichen enthalten und so basierte die Karte Ausdehnung Navigation auf die Verwendung der center und zoom Attribute.Ist es möglich, gleichzeitig die Attribute center und bounds in Leaflet.js zu verwenden?

Ich bin jetzt auch Funktionalität einschließlich, um zu bestimmen, ob eine Straße in der aktuellen Kartenausschnitt sichtbar ist, mit:
map.getBounds().contains([roadLatA, roadLngA]) || map.getBounds().contains([roadLatB, roadLngB]), wobei A und B an den Endpunkten einer Straße beziehen.

Dies funktioniert perfekt beim Laden der Seite, aber nach jeder Art von Interaktion (z. B. ziehen, zoomen Ereignisse) wenn getBounds() erneut aufgerufen wird, gibt es die gleiche LatLng für jede Ecke der Bounding Box, die die Werte sind die Standardeinstellung center Koordinaten. Nach vielen Refactoring kann ich keinen Weg finden, sowohl center als auch getBounds() erfolgreich zu integrieren.

Ist es möglich oder gibt es eine Einschränkung innerhalb der angle-leaflet-directive oder leaflet.js, was bedeutet, dass die beiden Methoden zum Setzen des Kartenumfangs miteinander in Konflikt stehen?

+0

Das von Ihnen beschriebene 'getBounds'-Verhalten ist sehr seltsam. Gibt es eine Chance, dass Sie mehr Code teilen und Ihr Problem möglicherweise online reproduzieren können? (z.B. auf Plunker) – ghybs

Antwort

0

Ich habe jetzt das Problem gelöst, das Problem war im Aufruf leafletData.getMap() ohne die id des Kartenelements übergeben.

Dieses Verhalten mich als Anfang getMap() Anruf wirft (ohne id) wurde das richtige Karte Objekt zurückkehrt, aber bei nachfolgenden Aufrufen (nach Benutzereingriff) die $promise nicht aufgelöst wurde, und so war ich nicht immer undefiniert oder irgendwelche anderen Fehler. Ich vermute, die getBounds() Funktion wurde dann auf dem falschen Kartenobjekt aufgerufen.

Verwandte Themen