MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Impossible d'afficher uniquement les points dans une plage spécifique (cercle) à l'aide de la fonction .getBounds() (Leaflet)

Vous pouvez créer votre propre contains méthode et ajoutez-la au L.Circle class car il n'en a pas par défaut. Vous pouvez utiliser la méthode utilitaire distanceTo du L.LatLng objets pour calculer la distance entre votre marqueur et le centre du cercle et la comparer au rayon du cercle :

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

Maintenant, lorsque vous avez un cercle et un marqueur ou un objet latlng, vous pouvez faire ceci :

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);

Exemple de travail sur Plunker :http://plnkr.co/edit/OPF7DM?p=preview

Référence L.Circle :http://leafletjs.com/reference.html#circle

Référence L.Marker :http://leafletjs.com/reference.html#marker

Référence L.LatLng :http://leafletjs.com/reference.html#latlng