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:http://plnkr.co/edit/OPF7DM?p=preview
L.Odniesienie do kręgu:http://leafletjs.com/reference.html#circle
L. Odniesienie do znacznika:http://leafletjs.com/reference.html#marker
Odniesienie L.LatLng:http://leafletjs.com/reference.html#latlng