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