由var与let引起的百度地图所有的覆盖点的信息都是最后一个的

  我再利用百度地图标点并且上传图片信息的时候,多点标记的时候,从数据库中查出来的数据完全正常,并且点的位置也是正常,就是因为局部变量的命名有问题,所有的点显示的都是最后一个点的信息。

    $.ajax({
            url: "MessageServlet?method=pointShowDitu",
            type: "post",
            success:function (data) {
                var jsobj = JSON.parse(data);
                // alert(jsobj["data"].length);

                for (var i = 0;i<jsobj["data"].length;i++){


                    let maker = new BMapGL.Marker(new BMapGL.Point(jsobj["data"][i].lng,jsobj["data"][i].lat));
                    map.addOverlay(maker);
                    var arr = new Array();
                    arr = jsobj["data"][i].allImgUrl.split(",");
                   // alert(arr.length)  //每个地点有多少张图片
                    var text="";
                    for (var j = 0 ;j<arr.length;j++){
                        text += "  <img   style='float:left;margin:0 4px 22px;width: 139px;height: 104px;' id='' src=\""+arr[j]+"\" />";
                    }

                    let infoWindow = new BMapGL.InfoWindow(text);
// marker添加点击事件
                    maker.addEventListener('click', function () {
                        this.openInfoWindow(infoWindow);
                        // 图片加载完毕重绘infoWindow

                    });


                }



            }
        })

  我标红色的这个地方,之前一直使用的是var,导致把前面点的信息都覆盖了,改为let就可以正常显示了。

 

 

posted on 2021-06-02 21:41  沫戏回首  阅读(85)  评论(0编辑  收藏  举报

导航