Du kan oprette din egen contains
metode og tilføje den til L.Circle
klasse, fordi den ikke har en som standard. Du kan bruge hjælpemetoden distanceTo
af L.LatLng
objekter for at beregne afstanden mellem din markør og cirklens centrum og sammenligne det med cirklens radius:
L.Circle.include({
contains: function (latLng) {
return this.getLatLng().distanceTo(latLng) < this.getRadius();
}
});
Når du nu har en cirkel og en markør eller et latlng-objekt, kan du gøre dette:
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);
Arbejdseksempel på Plunker:http://plnkr.co/edit/OPF7DM?p=preview
L.Circle reference:http://leafletjs.com/reference.html#circle
L.Marker reference:http://leafletjs.com/reference.html#marker
L.LatLng reference:http://leafletjs.com/reference.html#latlng