Můžete si vytvořit vlastní contains
a přidejte jej do L.Circle
třídu, protože ve výchozím nastavení žádnou nemá. Můžete použít obslužnou metodu distanceTo
z L.LatLng
objektů, abyste vypočítali vzdálenost mezi vaší značkou a středem kruhu a porovnali ji s poloměrem kruhu:
L.Circle.include({
contains: function (latLng) {
return this.getLatLng().distanceTo(latLng) < this.getRadius();
}
});
Nyní, když máte kruh a značku nebo objekt šířky, můžete udělat toto:
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);
Pracovní příklad na Plunkeru:http://plnkr.co/edit/OPF7DM?p=preview
L.Circle reference:http://leafletjs.com/reference.html#circle
Odkaz L.Marker:http://leafletjs.com/reference.html#marker
L.LatLng reference:http://leafletjs.com/reference.html#latlng