Можете да създадете свой собствен contains
и го добавете към L.Circle
клас, защото няма такъв по подразбиране. Можете да използвате помощния метод distanceTo
на L.LatLng
обекти, за да изчислите разстоянието между вашия маркер и центъра на кръга и да го сравните с радиуса на кръга:
L.Circle.include({
contains: function (latLng) {
return this.getLatLng().distanceTo(latLng) < this.getRadius();
}
});
Сега, когато имате кръг и маркер или latlng обект, можете да направите това:
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);
Работен пример за Plunker:http://plnkr.co/edit/OPF7DM?p=preview
Препратка към L.Circle:http://leafletjs.com/reference.html#circle
Препратка към L.Marker:http://leafletjs.com/reference.html#marker
L.LatLng справка:http://leafletjs.com/reference.html#latlng