码迷,mamicode.com
首页 > 其他好文 > 详细

高德地图marker事件监听-高德地图marker绑定事件就执行了[解决立即执行]

时间:2020-08-25 18:46:38      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:article   code   hellip   example   做了   rip   rank   原来   offset   

官方的demo是这样的:
地址:[http://lbs.amap.com/api/javascript-api/example/infowindow/add-infowindows-to-multiple-markers]

<script type="text/javascript">
    //初始化地图对象,加载地图
    var map = new AMap.Map("container", {resizeEnable: true});
    var lnglats = [
        [116.368904, 39.923423],
        [116.382122, 39.921176],
        [116.387271, 39.922501],
        [116.398258, 39.914600]
    ];
    var infoWindow = new AMap.InfoWindow({offset: new AMap.Pixel(0, -30)});
    for (var i = 0, marker; i < lnglats.length; i++) {
        var marker = new AMap.Marker({
            position: lnglats[i],
            map: map
        });
        marker.content = ‘我是第‘ + (i + 1) + ‘个Marker‘;
        marker.on(‘click‘, markerClick);
        marker.emit(‘click‘, {target: marker});
    }
    function markerClick(e) {
        infoWindow.setContent(e.target.content);
        infoWindow.open(map, e.target.getPosition());
    }
    map.setFitView();
</script>

事实上marker绑定的点击事件在添加marker到地图时就已经执行了,我做了多次尝试更改绑定事件的写法,均以失败告终!于是详细阅读API,原来官方还提供了这样一个方法:

正确的事件绑定应该是这样子的:
##重写marker绑定的方式,改用事件监听的方式。代码如下:
首先删除 marker.on(‘click’, markerClick);这句代码;
然后在本句代码处添加 AMap.event.addListener(marker,‘click’,markerClick);
最后在 markerClick 方法中dosomething…

marker事件得到绑定,marker绑定的事件不会立即执行,只有点击后才执行!

 

原创地址:https://blog.csdn.net/museions/article/details/78143503?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-1-78143503.nonecase

高德地图marker事件监听-高德地图marker绑定事件就执行了[解决立即执行]

标签:article   code   hellip   example   做了   rip   rank   原来   offset   

原文地址:https://www.cnblogs.com/DarlingRay/p/13539606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!