1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 百度地图 InfoWindow上添加点击事件

百度地图 InfoWindow上添加点击事件

时间:2019-08-24 05:06:29

相关推荐

百度地图 InfoWindow上添加点击事件

一、应用场景

在地图上展示多个点位信息,点击弹出自定义详细信息(InfoWindow),然后在InfoWindow上添加点击事件操作。例如:

二、主要方法

var markerlist=data;//点位信息listfor (var i = 0; i < markerlist.length; i++) {var marker = new BMap.Marker(new BMap.Point(markerlist[i].Latitude, markerlist[i].Longitude)); // 创建标注var content ='<span>自定义字段1:</span>'+ markerlist[i].Type_Name+'</br><span>自定义字段2:</span>'+ markerlist[i].Type_EnName+'</br><input type="button" id="markerbtn" value="点击弹出" data-sid="'+ markerlist[i].Dict_Code +'" />';map.addOverlay(marker);// 将标注添加到地图中addClickHandler(content, marker);}//给点位添加点击事件function addClickHandler(content, marker) {marker.addEventListener("click", function (e) {openInfo(content, e);});}//打开信息窗口function openInfo(content, e) {var p = e.target;var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);var infoWindow = new BMap.InfoWindow(content); // 创建信息窗口对象 map.openInfoWindow(infoWindow, point); //开启信息窗口//判断窗口的打开状态if (!infoWindow.isOpen()) {//如果没有打开,则监听打开事件,获取按钮,添加事件infoWindow.addEventListener("open", function () {document.getElementById("markerbtn").onclick = function (e) {alert("门店编号:"+e.target.dataset.sid);}})} else {//如果已经打开,直接获取按钮,添加事件document.getElementById("markerbtn").onclick = function (e) {alert("门店编号:" + e.target.dataset.sid);}}}

三、最终效果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。