MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Не може да се покажат само точките в определен диапазон (кръг) с помощта на функцията .getBounds() (листовка)

Можете да създадете свой собствен contains и го добавете към L.Circle клас, защото няма такъв по подразбиране. Можете да използвате помощния метод distanceTo на L.LatLng обекти, за да изчислите разстоянието между вашия маркер и центъра на кръга и да го сравните с радиуса на кръга:

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

Сега, когато имате кръг и маркер или latlng обект, можете да направите това:

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

Работен пример за Plunker:http://plnkr.co/edit/OPF7DM?p=preview

Препратка към L.Circle:http://leafletjs.com/reference.html#circle

Препратка към L.Marker:http://leafletjs.com/reference.html#marker

L.LatLng справка:http://leafletjs.com/reference.html#latlng



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose aggregate Lookup - Как да филтрирате по конкретен идентификатор

  2. sudo service mongodb рестартирането дава неразпозната грешка в услугата в ubuntu 14.0.4

  3. Грешка при създаване на bean с име „mongobee“, дефинирано в ресурса за пътя на класа

  4. Не може да се свърже с MongoDB в Azure

  5. Как се инсталира MongoDb от Meteor?