MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Impossibile visualizzare solo i punti all'interno di un intervallo specifico (cerchio) utilizzando la funzione .getBounds() (foglio illustrativo)

Puoi creare i tuoi contains metodo e aggiungilo al L.Circle class perché non ne ha uno per impostazione predefinita. Puoi usare il metodo di utilità distanceTo del L.LatLng oggetti per calcolare la distanza tra l'indicatore e il centro del cerchio e confrontarla con il raggio del cerchio:

L.Circle.include({
    contains: function (latLng) {
        return this.getLatLng().distanceTo(latLng) < this.getRadius();
    }
});

Ora quando hai un cerchio e un marker o un oggetto latlng puoi farlo:

var map = L.map(...);

var circle = L.circle(...).addTo(map),
    marker = L.marker(...).addTo(map);
    latLng = L.latLng(...);

// Returns true when in the circle and false when outside
circle.contains(marker.getLatLng());
circle.contains(latLng);

Esempio di lavoro su Plunker:http://plnkr.co/edit/OPF7DM?p=preview

Riferimento L.Circle:http://leafletjs.com/reference.html#circle

Riferimento L.Marker:http://leafletjs.com/reference.html#marker

Riferimento L.LatLng:http://leafletjs.com/reference.html#latlng