Sie können Ihre eigenen contains
erstellen -Methode und fügen Sie sie dem L.Circle
hinzu Klasse, weil sie standardmäßig keine hat. Sie können die Utility-Methode distanceTo
verwenden des L.LatLng
Objekte, um den Abstand zwischen Ihrer Markierung und dem Mittelpunkt des Kreises zu berechnen und diesen mit dem Radius des Kreises zu vergleichen:
L.Circle.include({
contains: function (latLng) {
return this.getLatLng().distanceTo(latLng) < this.getRadius();
}
});
Wenn Sie jetzt einen Kreis und eine Markierung oder ein Latlng-Objekt haben, können Sie Folgendes tun:
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);
Arbeitsbeispiel für Plunker:http://plnkr.co/edit/OPF7DM?p=preview
L.Circle-Referenz:http://leafletjs.com/reference.html#circle
L.Marker-Referenz:http://leafletjs.com/reference.html#marker
L.LatLng-Referenz:http://leafletjs.com/reference.html#latlng