sql >> Database teknologi >  >> NoSQL >> MongoDB

Kunne ikke vise punkterne inden for et specifikt interval (cirkel) ved hjælp af .getBounds()-funktionen (Leaflet)

Du kan oprette din egen contains metode og tilføje den til L.Circle klasse, fordi den ikke har en som standard. Du kan bruge hjælpemetoden distanceTo af L.LatLng objekter for at beregne afstanden mellem din markør og cirklens centrum og sammenligne det med cirklens radius:

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

Når du nu har en cirkel og en markør eller et latlng-objekt, kan du gøre dette:

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

Arbejdseksempel på Plunker:http://plnkr.co/edit/OPF7DM?p=preview

L.Circle reference:http://leafletjs.com/reference.html#circle

L.Marker reference:http://leafletjs.com/reference.html#marker

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



  1. Afledte forespørgsler virker ikke med DBRef

  2. MongoDB PHP Driver og MongoDB kompatibilitetskontrol

  3. TypeError:Kan ikke bruge 'in'-operatoren til at søge efter '_id' i [{}]

  4. Sådan konfigureres Monolog til at gemme logfiler i MongoDB med Symfony2 og Doctrine