U kunt uw eigen contains
. maken methode en voeg het toe aan de L.Circle
class omdat het er standaard geen heeft. U kunt de hulpprogrammamethode distanceTo
. gebruiken van de L.LatLng
objecten om de afstand tussen uw markering en het middelpunt van de cirkel te berekenen en die te vergelijken met de straal van de cirkel:
L.Circle.include({
contains: function (latLng) {
return this.getLatLng().distanceTo(latLng) < this.getRadius();
}
});
Als je nu een cirkel en een markering of een latlng-object hebt, kun je dit doen:
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);
Werkvoorbeeld op Plunker:http://plnkr.co/edit/OPF7DM?p=preview
L.Circle-referentie:http://leafletjs.com/reference.html#circle
L.Marker-referentie:http://leafletjs.com/reference.html#marker
L.LatLng-referentie:http://leafletjs.com/reference.html#latlng