Możesz tworzyć własne contains i dodaj ją do L.Circle klasy, ponieważ domyślnie jej nie ma. Możesz użyć metody narzędzia distanceTo L.LatLng obiekty, aby obliczyć odległość między twoim znacznikiem a środkiem okręgu i porównać ją z promieniem okręgu:
L.Circle.include({
contains: function (latLng) {
return this.getLatLng().distanceTo(latLng) < this.getRadius();
}
});
Teraz, gdy masz okrąg i znacznik lub obiekt, możesz to zrobić:
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);
Przykład pracy na Plunkerze:https://plnkr.co/edit/OPF7DM?p=preview
L.Odniesienie do kręgu:https://leafletjs.com/reference.html#circle
L. Odniesienie do znacznika:https://leafletjs.com/reference.html#marker
Odniesienie L.LatLng:https://leafletjs.com/reference.html#latlng