javascript - 请教各位关于百度地图api标注点marker的click事件问题
PHP中文网
PHP中文网 2017-04-10 15:11:40
[JavaScript讨论组]

百度地图在地图中给标注点marker添加后click事件后

marker.addEventListener("click", function(){})

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

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
PHP中文网

感觉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();
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号