请教各位关于百度地图api标注点marker的click事件问题

 我来答
地瓜说机
2017-09-25 · TA获得超过2.9万个赞
知道大有可为答主
回答量:2.3万
采纳率:91%
帮助的人:1.1亿
展开全部
百度地图在地图中给标注点marker添加后click事件后

marker.addEventListener("click", function(){})
如何在其他地方自动触发这个marker点击事件?
因为输出marker是一个对象,所以并不能marker.click()
想做的就是如百度地图那样点击左边搜索结果栏右边标注点自动点击一次

感觉api确实不太好用,想出来俩解决方案。

1.可以定义好事件处理函数,想要触发时执行一遍:

marker.addEventListener('click',func);
function func(){
alert();
}
// 想要触发时,直接调用func
func();
2.发现marker有一个属性B指向标记DOM,但B只在地图加载完成后才有值,否则为null,所以可以在地图加载完成后给给B绑定事件.

map.addEventListener("tilesloaded",function(){
marker.B.addEventListener('click',function(){
alert();
});

/* 使用zepto或jQuery
$(marker.B).on('click',function(){
alert();
});
*/
});

// 注意触发时要保证地图加载完成
marker.B.click();
/* 或
$(marker.B).trigger('click');
*/

也可以不等地图加载完,定义marker后就直接绑定,但触发时还是触发marker.B也是可以的。

marker.addEventListener('click',function(){
alert();
});

// 注意触发时要保证地图加载完成
marker.B.click();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式