sql >> Base de Datos >  >> NoSQL >> MongoDB

No se pueden mostrar solo los puntos dentro de un rango específico (círculo) usando la función .getBounds() (Folleto)

Puedes crear tus propios contains y agréguelo al L.Circle clase porque no tiene uno por defecto. Puede usar el método de utilidad distanceTo del L.LatLng objetos para calcular la distancia entre su marcador y el centro del círculo y compararlo con el radio del círculo:

L.Circle.include({
    contains: function (latLng) {
        return this.getLatLng().distanceTo(latLng) < this.getRadius();
    }
});

Ahora, cuando tenga un círculo y un marcador o un objeto latlng, puede hacer esto:

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);

Ejemplo de trabajo en Plunker:http://plnkr.co/edit/OPF7DM?p=preview

L.Referencia del círculo:http://leafletjs.com/reference.html#circle

L. Referencia de marcador:http://leafletjs.com/reference.html#marker

Referencia L.LatLng:http://leafletjs.com/reference.html#latlng