如何将坐标信息导入到地图上实现批量添加标注信息?
指缝间de阳光
1.var map = new BMap.Map("Mapcontainer"); 0
2. var JsonObj = eval(JsonStr); 0
3. if (JsonObj != null) { 0
4. for (var i = 0; i < JsonObj.length; i++) { 0
5. (function (x) { 0
6. var nt = new BMap.Point(JsonObj[x].Visit_GPS_Longitude, JsonObj[x].Visit_GPS_Latitude); // 创建点坐标 0
7. map.centerAndZoom(nt, 13); 0
8. var marker = new BMap.Marker(nt); 0
9. var opts = {
10. width: 250, // 信息窗口宽度 1
1. height: 100, // 信息窗口高度 1
2. title: '<span style="font-size:15px;color:#0A8021">' + JsonObj[x].CustomerName + '</span>' // 信息窗口标题 1
3. } 1
4. //marker.setAnimation(BMAP_ANIMATION_BOUNCE); 1
5. var content = "进指路人地图标注服务中心时间 " + JsonObj[x].VisitBeginTime + "<br/>离指路人地图标注服务中心时间 " + JsonObj[x].VisitEndTime; 1
6. var info_Window = new BMap.InfoWindow(content, opts); // 创建信息窗口对象 1
7. marker.addEventListener("click", function () { 1
8. this.openInfoWindow(info_Window); 1
9. }); 20. map.addOverlay(marker); 2
1. })(i); 2
2. } 2
3. map.addControl(new BMap.NavigationControl()); var map = new BMap.Map("Mapcontainer"); var JsonObj = eval(JsonStr); if (JsonObj != null) { for (var i = 0; i < JsonObj.length; i++) { (function (x) { var nt = new BMap.Point(JsonObj[x].Visit_GPS_Longitude, JsonObj[x].Visit_GPS_Latitude); // 创建点坐标 map.centerAndZoom(nt, 13); var marker = new BMap.Marker(nt); var opts = { width: 250, // 信息窗口宽度 height: 100, // 信息窗口高度 title: '<span style="font-size:15px;color:#0A8021">' + JsonObj[x].CustomerName + '</span>' // 信息窗口标题 } //marker.setAnimation(BMAP_ANIMATION_BOUNCE); var content = "进指路人地图标注服务中心时间 " + JsonObj[x].VisitBeginTime + "<br/>离指路人地图标注服务中心时间 " + JsonObj[x].VisitEndTime; var info_Window = new BMap.InfoWindow(content, opts); // 创建信息窗口对象 marker.addEventListener("click", function () { this.openInfoWindow(info_Window); }); map.addOverlay(marker); })(i); } map.addControl(new BMap.NavigationControl()); 同样是一个循环,但是在循环中使用了一个匿名函数,从而造成一个闭包将 i 的值锁定在里面,这样外部的值已经变化, 但是传到闭包里面的值已经被保留,也就可以顺利拿到应该取到的address[i]的内容了。 这样虽然解决了问题,但是每添加一个点都会创建一个匿名函数,内存泄漏可能会是潜在隐患。 接下去, 我们就可以自由的在地图上标注点并显示对应的信息了!
2021-09-23 17:28:21 917查看 1回答
2021-09-23 17:28:58 937查看 0回答
2021-09-23 17:29:33 865查看 1回答
2021-09-23 17:33:34 450查看 4回答