2016-11-29 1 views
0

Polylinie existiert Ich zeichne die Linien aus Geojson-Datei auf einer Prospektkarte. Jetzt muss ich die Fetaures zurück lesen, die innerhalb der Kartengrenzen basierend auf der aktuellen Ansicht existieren.Wie können wir prüfen, ob innerhalb der Kartengrenzen in der Broschüre

cam I über diesen Link: https://github.com/stefanocudini/leaflet-list-markers/blob/master/src/leaflet-list-markers.js die im Grunde überprüft, ob die Markierungen innerhalb der Grenzen existieren layer.getLatLng() Funktion. Versucht, dies zu verwenden, aber es wirft "Methode existiert nicht" in meinem Fall.

Gibt es trotzdem, um zu überprüfen, ob das Linien-Feature in Map-Grenzen existiert, nachdem sie auf der Karte hinzugefügt wurden.

Antwort

0

können Sie überprüfen, ob die line's bounding box die map's bounding box überlappt:

if (map.getBounds().intersects(line.getBounds())) { ... } 

Beachten Sie, dass diese die Begrenzungsrahmen überprüft. Wenn Sie genauere Kreuzungsberechnungen benötigen, können Sie TurfJS's intersect method verwenden.

Sie sagen, dass Sie getLatLng() auf einem L.Polyline nicht ausführen können, und das ist keine Überraschung. Read the Leaflet documentation vorsichtig, und Sie werden sehen, dass Marker haben eine getLatLng() Methode, und Polylinien haben getLatLngs() und getBounds() stattdessen.

+0

Dank @Ivan. Intersects funktioniert für mich. Es ist nicht sehr genau wie du erwähnt hast, aber definitiv ein guter Anfang. –

Verwandte Themen