【发布时间】:2019-11-04 17:17:18
【问题描述】:
我想确定在某个 lat 和 lng 是否已经有一个标记
我做研究时发现的唯一方法是mymap.hasLayer(marker)
但我不想也不能使用标记变量,因为我只有位置(纬度,经度)
我需要知道这一点,因为一些标记会重叠,我知道如何解决这个问题的唯一方法是检查该位置是否存在标记,如果它进行了修改,则会向其添加信息
【问题讨论】:
标签: javascript leaflet
我想确定在某个 lat 和 lng 是否已经有一个标记
我做研究时发现的唯一方法是mymap.hasLayer(marker)
但我不想也不能使用标记变量,因为我只有位置(纬度,经度)
我需要知道这一点,因为一些标记会重叠,我知道如何解决这个问题的唯一方法是检查该位置是否存在标记,如果它进行了修改,则会向其添加信息
【问题讨论】:
标签: javascript leaflet
您可以迭代地图上的图层,并检查每个标记。
var targeLatLng = L.latLng(lat, lng);
map.eachLayer(function(layer) {
if (layer instanceof L.Marker) {
if (layer.getLatLng() === targetLatLng) {
// We found a marker at the target lat, lng
}
});
如果您需要最小距离而不是完全相等,您可能想要使用layer.getLatLng().distanceTo(targetLatLng) < something。
【讨论】: