google map中 setMap(null)为什么不起作用

p2l[i].setMap(null);这个代码如何单独写在 p2l[i].setMap(mapLine.map)下面就能管用

http://www.51js8.com/public/i...

这个是网站地址 不是推广!!!!!

账号密码 bbbccc 123456

但是如果单独写不起作用
最终起到的作用就是单击垂足最后能清空这些多段线!!!

clipboard.png

      $('#pointToline').on('ifChanged', function () {
                var data = getUserData();
                var p2l = mapLine.duoduanxian(data);
                if ($(this).is(':checked')) {
                    for (var i = 0; i < p2l.length; i++) {
                        p2l[i].setMap(mapLine.map);
                    }

                } else {
                    for (var i = 0; i < p2l.length; i++) {
                        p2l[i].setMap(null);
                    }
                }

            });
  mapLine.pointToLine = function () {
            $('#pointToline').iCheck({
                labelHover: false,
                cursor: true,
                checkboxClass: 'icheckbox_flat-blue',
                radioClass: 'iradio_flat-blue',
                increaseArea: '20%' // optional
            });
            //垂足显示效果
            $('#pointToline').on('ifChanged', function () {
                var data = getUserData();
                var p2l = mapLine.duoduanxian(data);
                if ($(this).is(':checked')) {
                    for (var i = 0; i < p2l.length; i++) {
                        p2l[i].setMap(mapLine.map);
                    }

                } else {
                    for (var i = 0; i < p2l.length; i++) {
                        p2l[i].setMap(null);
                    }
                }

            });
        }
        //获取数据将分别展现在地图中
        mapLine.clearPolyline = function (data) {
            for (var i = 0; i < data.length; i++) {

            }

        }

        mapLine.duoduanxian = function (data) {
            var arr = [];
            for (var i = 0; i < data.length; i++) {
                var newarr = [];
                newarr[0] = GpsCorrect.transform(data[i].Latitude, data[i].Longitude);
                newarr[1] = GpsCorrect.transform(data[i].pointToLinex, data[i].pointToLiney);
                arr.push(mapLine.mainline(newarr));
            }
            return arr;
        }

        mapLine.mainline = function (data) {
           //console.log(Polyline);
            return  Polyline = new google.maps.Polyline({
                    path: data,
                    strokeColor: "#FF0000",// 线条颜色
                    strokeOpacity:0.5,// 线条透明度
                    strokeWeight: 2,      // 线条粗细
                    visible: true
                });
            //console.log(trackPath);
        };
阅读 2.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题