MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Không thể chỉ hiển thị các điểm trong một phạm vi cụ thể (vòng tròn) bằng cách sử dụng hàm .getBounds () (Tờ rơi)

Bạn có thể tạo contains của riêng mình và thêm nó vào L.Circle vì nó không có một lớp theo mặc định. Bạn có thể sử dụng phương thức tiện ích distanceTo của L.LatLng các đối tượng để tính toán khoảng cách giữa điểm đánh dấu của bạn và tâm của vòng tròn và so sánh với bán kính của vòng tròn:

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

Bây giờ khi bạn có một vòng tròn và một điểm đánh dấu hoặc đối tượng latlng, bạn có thể thực hiện việc này:

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

Ví dụ làm việc trên Plunker: http://plnkr.co/edit/OPF7DM?p=preview

Tham khảo L.Circle: http://leafletjs.com/reference.html#circle

Tham khảo L.Marker: http://leafletjs.com/reference.html#marker

Tham khảo L.LatLng: http://leafletjs.com/reference.html#latlng



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách tham gia hai bộ sưu tập trong mongoose

  2. Làm cách nào để truy vấn từ trong Mongoose pre hook trong ứng dụng Node.js / Express?

  3. Cùng một từ nhưng các ký tự unicode khác nhau

  4. trả về giá trị từ callback trong node.js và mongoose

  5. Làm cách nào để loại trừ các trường khỏi tài liệu được nhúng trong Mongoid?