点击打开弹框展示数据_数据展示 带点击弹框小实例

此博客介绍了如何使用BMap API在地图上动态添加不同类型的标记(如监控点和摄像头),通过自定义图标区分,并实现信息窗口的点击事件。同时,通过`map.setViewport()`确保地图视图随标记点变化而调整,以便全面展示所有数据。
摘要由CSDN通过智能技术生成

map.clearOverlays();

var pts = [];

for (var i = 0; i < data.length; i++) {

var pt = new BMap.Point(data[i].lng,data[i].lat);

var myIcon = null;

if (data[i].dataType == "JCD" || data[i].dataType == "ZDJCD") {

myIcon = new BMap.Icon("image/monitoring.png",

new BMap.Size(24, 24));

}

if (data[i].dataType == "SXT") {

myIcon = new BMap.Icon("image/camera.png",

new BMap.Size(24, 24));

}

var marker2 = new BMap.Marker(pt, {

icon : myIcon

});

var msg = "";

if (data[i].dataType != "HT" ) {

msg =     "所在高速:" +data[i].highwayName + "
" +

"桩号:" +data[i].stake + "
" ;

} else {

msg ='';

}

map.addOverlay(marker2); // 将标注添加到地图中

addInfo(msg,marker2);

pts.push(pt);

}

// 自适应比例尺,调整视角

map.setViewport(pts);

// 重点 这里如果不这样写,会造成只显示最后一个点的信息

function addInfo(txt,marker){

var infoWindow = new BMap.InfoWindow(txt);

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

this.openInfoWindow(infoWindow);

});

}

// 相对自适应布局

html {

height: 100%;

}

body {

height: 100%;

}

* {

margin: 0;

padding: 0;

}

.box {

height: 100%;

}

.bottom {

height: 40px;

}

.main {     height: calc(100% - 40px); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值