Javascript 定心标记
如何实现这一点:Javascript 定心标记,javascript,jquery,leaflet,Javascript,Jquery,Leaflet,如何实现这一点: map.on('popupopen', function(centerMarker) { var cM = map.project(centerMarker.popup._latlng); cM.y -= centerMarker.popup._container.clientHeight/2 map.setView(map.unproject(cM),16, {animate: true}); }); 但在某种程度上取决于正在单击的传单标记(而不是弹
map.on('popupopen', function(centerMarker) {
var cM = map.project(centerMarker.popup._latlng);
cM.y -= centerMarker.popup._container.clientHeight/2
map.setView(map.unproject(cM),16, {animate: true});
});
但在某种程度上取决于正在单击的传单标记(而不是弹出窗口)
我试图做的是设置我的地图,这样当点击地图上的任何标记时,地图会放大到标记位置的更近视图。当我的标记悬停在上方时,它们会显示其弹出窗口,因此我不能使用“popupopen”
我尝试过在('click'…上执行层。但当我执行此操作时,会出现“无法读取未定义的_latlongUndefined属性”错误。您可以使用click事件传递的latlng。创建如下函数:
function clickZoom(e) {
map.setView(e.layer._latlng,16, {animate: true});
}
创建图层时,您可以通过添加。on('click',clickZoom)
在单击事件中调用它
下面是一个小提琴示例,展示了它的工作原理:
请注意,在本例中,您还可以从onEachFeature中调用该函数(而不是在创建图层时),但您需要使用
e.target.\u latlng
而不是e.layer.\u latlng
不起作用的代码并不能很好地替代对该代码预期功能的解释。请定义正确的问题陈述和预期结果谢谢您,@nathansnider!这正是我的代码所需要的。一切都很好按我希望的方式工作。:)