Leaflet 防止使用传单.js从图像中添加标记

Leaflet 防止使用传单.js从图像中添加标记,leaflet,Leaflet,我正在为我的项目使用传单.js。我想在地图上添加标记,单击并保存它们 var newMarker = new L.marker(e.latlng).addTo(map); 我正在用上面的代码添加标记。但我想防止在我的图像中添加标记。如何操作?您可以简单地定义图像的边界(例如,如果要使用,您可以执行var bounds=map.getBounds();),然后在创建标记之前,使用条件语句检查单击事件位置是否在这些边界内: var-imageBounds=map.getBounds(); 函数ad

我正在为我的项目使用传单.js。我想在地图上添加标记,单击并保存它们

var newMarker = new L.marker(e.latlng).addTo(map);

我正在用上面的代码添加标记。但我想防止在我的图像中添加标记。如何操作?

您可以简单地定义图像的边界(例如,如果要使用,您可以执行
var bounds=map.getBounds();
),然后在创建标记之前,使用条件语句检查单击事件位置是否在这些边界内:

var-imageBounds=map.getBounds();
函数addMarker(事件){
var newPosition=event.latlng;
if(imageBounds.contains(newPosition)){
//如果使用“L.marker”,则不需要“new”
//与“新L.标记”相反(注意大写)
var newMarker=L.marker(newPosition).addTo(map);
}
}
地图上(“单击”,添加标记);

“超出我的图像范围?”哪个图像?a
L.imageOverlay
?我在这里尝试了你的建议,但没有成功。当我的缩放为1时,我可以将标记移出图像。您复制了
map.getBounds
,这只是一个示例,因为不清楚您要使用哪个图像。显然,由于您已经计算了图像边界(变量
bounds
),因此应该使用它来代替上述代码中的
imageBounds
。演示: