百度地图api开发,创立不同颜色的海量点,给海量点加点击弹出窗体

作者 : 开心源码 本文共2289个字,预计阅读时间需要6分钟 发布时间: 2022-05-13 共182人阅读

1、省略注册等步骤

2、省略html等步骤

    mounted(){           this.intGis();  },   methods:{           intGis(){                this.map = new BMap.Map("container");                 var point = new BMap.Point(116.376, 39.999);  // 定位的地图视觉中心                this.map.centerAndZoom(point, 13);   // 设置地图的缩放级别           this.map.enableScrollWheelZoom();  //允许鼠标滚动缩放        },        getlargeMark(){               if(document.createElement('canvas').getContext){  // 判断浏览器能否支持                var map=this.map;                var data=this.markdatas;                         var that=this                var areaXyArr=[];                // var points=[];                this.pointsTuijian=[];    // 设置不同的点的数组,不同点有不同的颜色                this.pointsPeiyu=[];      // 设置不同的点的数组,不同点有不同的颜色                this.pointsChubei=[];    // 设置不同的点的数组,不同点有不同的颜色                this.map.clearOverlays();  // 请求之前先清除所有的点,假如不清理,每次接口请求不同的数据的时候,点不会升级               for (var i = 0; i < data.length; i++) {  // 循环遍历把不同类型的点分别放在不同数组                var data2=data[i];                if(data2.areaXy){                    if(data2.recommend){                        if(data2.recommend=="推荐"){                            var areaXyArr=data2.areaXy.split(',');                            this.pointsTuijian.push(new BMap.Point(parseFloat(areaXyArr[0]),parseFloat(areaXyArr[1])));                         }                        else if(data2.recommend=="培育"){                            var areaXyArr=data2.areaXy.split(',');                            this.pointsPeiyu.push(new BMap.Point(parseFloat(areaXyArr[0]),parseFloat(areaXyArr[1])));                         }                        else if(data2.recommend=="储备"){                            var areaXyArr=data2.areaXy.split(',');                            this.pointsChubei.push(new BMap.Point(parseFloat(areaXyArr[0]),parseFloat(areaXyArr[1])));                         }                      }                  }                              }                this.changePointsColor(this.pointsTuijian,this.optionsTuijian);  // this.optionsTuijian等有不同的样式配置                this.changePointsColor(this.pointsPeiyu,this.optionsPeiyu);                this.changePointsColor(this.pointsChubei,this.optionsChubei);                this.getFourNums(data.length)            }else{                alert('请在chrome、safari、IE8+以上浏览器查看本示例');            }        },          // 初始化不同颜色的点,这和上一步完成不同颜色点的创立        changePointsColor(points,options){            var map=this.map;            var pointCollection = new BMap.PointCollection(points, options);  // 初始化PointCollection            map.addOverlay(pointCollection);  // 增加Overlay            this.clickPoints(pointCollection);// 给点增加点击事件            },        // 点击弹出弹窗        clickPoints(pointCollection){            var map=this.map;            var data=this.markdatas;            // console.log(data)             pointCollection.addEventListener('click', function (e) {                    //  alert('单击点的坐标为:' + e.point.lng + ',' + e.point.lat);                 // 循环查出值                for (var i = 0; i < data.length; i++) {                    if(data[i].areaXy){                         if(parseFloat(data[i].areaXy.split(',')[0])==e.point.lng && parseFloat(data[i].areaXy.split(',')[1])==e.point.lat){ //找到                    点击的点在data中的index                                var id=data[i].compId // 通过找到的index得到这个id,通过这个id来请求获取窗体中的信息,请求接口步骤省略                               var Content=`<div>窗体信息</div>`                                var infoWindow = new BMap.InfoWindow(Content,this.opts);  // 创立信息窗口对象                                  map.openInfoWindow(infoWindow,point); //开启信息窗口                                                  }                                            }                                                                                                  }                            });        },        }

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 百度地图api开发,创立不同颜色的海量点,给海量点加点击弹出窗体

发表回复