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