当前位置: 首页 > 知识库问答 >
问题:

传单中的标记,单击事件

慕意致
2023-03-14
var map = L.map('map');
var marker = L.marker([10.496093,-66.881935]).on('click', onClick);
function onClick(e) {alert(e.latlng);}
marker.addTo(map)

当我在标记中单击时,警报消息是:未定义

但是如果我把它放在变量映射中,它就起作用了!(显示经纬度)

map.on('click', onClick); 

有人知道为什么它在标记器里不起作用吗?

共有1个答案

纪佐
2023-03-14

公认的答案是正确的。然而,我需要更多的清晰度,以防其他人也这样做:

传单允许事件对您在其地图上所做的任何事情都触发,在本例中是一个标记。

因此,您可以按照上面问题的建议创建一个标记:

L.marker([10.496093,-66.881935]).addTo(map).on('mouseover', onClick);

然后创建onClick函数:

function onClick(e) {
    alert(this.getLatLng());
}

现在,任何时候,您鼠标越过该标记,它将发射一个警报当前lat/long。

但是,您可以使用'click'、'dblclick'等来代替'mouseover',并且可以使用onClick的主体来执行您想要的任何其他操作,而不是在lat/long发出警报:

L.marker([10.496093,-66.881935]).addTo(map).on('click', function(e) {
    console.log(e.latlng);
});

以下是文档:http://leafletjs.com/reference.html#events

 类似资料:
  • 我试图单击标记,但当我试图通过ID访问它时,我得到了一个错误,即无法定位元素。 我在单元测试项目中使用selenium C#。单击的代码如下所示: 新分析

  • 我试图在点击时更改标记的图标编号。我使用的是角度谷歌地图。我正在使用本地资产文件夹而不是服务API设置iNurl。 单击标记时,如何更改上述图标。

  • 问题内容: 在我的三个按钮上,鼠标=中键单击和=右键单击。 两键鼠标就是这种情况吗? 谢谢 问题答案: 为了避免任何歧义,请使用SwingUtilities中的实用程序方法:

  • 我正在使用android Studio模板中的android导航抽屉导航菜单。如何根据id导航到不同的活动。 我知道我错过了什么,但我找不到解决办法。有人能帮我吗?

  • 我试图在传单中的标记(从JSON数据生成)之间插入行。我看到了一个示例,但它不能使用JSON数据。我能看到标记,但没有线条出现。 我的JSON数据:

  • 嗨,我有一系列使用mapquest和传单的圆圈 圆数据是从查询联系的sql表中动态生成的:圆名、长/长中心位置和半径。 我希望用户能够点击任一个圆和点击事件加载编辑圆页面,然后加载另一个地图页面,该页面只显示被点击编辑的单个圆,而不是圆的集合。 加载特定的圆圈编辑页面等都是排序的,我需要理解的是所需的语法,这样我就可以单击圆圈并加载页面editcircle.html?circleid=4