标签: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绑定的事件不会立即执行,只有点击后才执行!
高德地图marker事件监听-高德地图marker绑定事件就执行了[解决立即执行]
标签:article code hellip example 做了 rip rank 原来 offset
原文地址:https://www.cnblogs.com/DarlingRay/p/13539606.html