uniapp leaflet 点击事件如何实现
在uniapp中使用leaflet地图时,如何给地图上的标记点添加点击事件?我尝试了@click和onClick都不生效,请问正确的绑定方式是什么?需要引入额外的插件吗?能否提供一个简单的代码示例?
2 回复
在uniapp中使用leaflet实现点击事件,可以这样操作:
- 首先确保正确引入leaflet库
import L from 'leaflet'
- 地图初始化后添加点击监听
// 创建地图实例
let map = L.map('map').setView([39.909, 116.397], 13)
// 添加点击事件
map.on('click', function(e) {
console.log('点击坐标:', e.latlng)
// 可以在这里添加标记或其他操作
L.marker(e.latlng).addTo(map)
.bindPopup(`坐标: ${e.latlng.lat}, ${e.latlng.lng}`)
.openPopup()
})
- 如果需要特定图层点击事件
// 对特定图层添加点击
let polygon = L.polygon([[39.9, 116.4], [39.91, 116.41], [39.89, 116.42]]).addTo(map)
polygon.on('click', function(e) {
console.log('多边形被点击')
})
注意:uniapp中需要处理跨端兼容性,确保leaflet在H5环境下正常运行。


