Du kan skapa din egen contains
metod och lägg till den i L.Circle
klass eftersom den inte har en som standard. Du kan använda verktygsmetoden distanceTo
av L.LatLng
objekt för att beräkna avståndet mellan din markör och cirkelns centrum och jämföra det med cirkelns radie:
L.Circle.include({
contains: function (latLng) {
return this.getLatLng().distanceTo(latLng) < this.getRadius();
}
});
Nu när du har en cirkel och en markör eller latlng-objekt kan du göra detta:
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);
Arbetsexempel på Plunker:http://plnkr.co/edit/OPF7DM?p=preview
L.Circle referens:http://leafletjs.com/reference.html#circle
L.Marker referens:http://leafletjs.com/reference.html#marker
L.LatLng referens:http://leafletjs.com/reference.html#latlng