通过追加信息窗体并给内容添加自定义事件
const infoWin = new T.InfoWindow(
'<div class="map-helmet" onclick="mapCallback()">'
+ `<img style="margin-left:14px" src="${video}" width="20px" /> 视频</div>`
+ '</div>',
{ closeButton: false, offset: new T.Point(0, -7) }
)
infoWin.setLngLat(lnglat)
droneInfoWin = infoWin
// 向地图上添加信息窗口
map.addOverLay(infoWin)
点击自定义事件报错是因为信息窗体通过追加进去的,无法获取到methods里面对应的方法
解决办法为绑定一个给click事件的方法绑定再window里面,再去调用对应的方法
const infoWin = new T.InfoWindow(
'<div class="map-helmet" onclick="mapCallback()">'
+ `<img style="margin-left:14px" src="${video}" width="20px" /> 视频</div>`
+ '</div>',
{ closeButton: false, offset: new T.Point(0, -7) }
)
const win:any = window
win.mapCallback = ()=>{
console.log(123)
// 调用methods里面的方法
}
infoWin.setLngLat(lnglat)
droneInfoWin = infoWin
// 向地图上添加信息窗口
map.addOverLay(infoWin)

文章讲述了在创建T.InfoWindow时遇到点击事件无法触发内部方法的问题,解决方案是通过将事件绑定到window对象上来调用对应的方法,从而实现信息窗体的自定义交互功能。
5618

被折叠的 条评论
为什么被折叠?



