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