Você pode criar seus próprios
contains
e adicione-o ao L.Circle
class porque não tem um por padrão. Você pode usar o método utilitário distanceTo
do L.LatLng
objetos para calcular a distância entre o seu marcador e o centro do círculo e comparar com o raio do círculo:L.Circle.include({
contains: function (latLng) {
return this.getLatLng().distanceTo(latLng) < this.getRadius();
}
});
Agora, quando você tem um círculo e um marcador ou objeto lateral, você pode fazer isso:
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);
Exemplo de trabalho no Plunker:http://plnkr.co/edit/OPF7DM?p=preview
Referência L.Circle:http://leafletjs.com/reference.html#circle
Referência L.Marker:http://leafletjs.com/reference.html#marker
Referência L.LatLng:http://leafletjs.com/reference.html#latlng