百度地图聚合,获取聚合点所包含的点信息

百度地图聚合,获取聚合点所包含的点信息

    由于项目需求,开发地图时需要对地图点信息进行聚合,而且还需要获取该聚合点下的点有哪些,查看相关资料,并没有对这一问题进行介绍,如何解决这个问题?
    在地图初始化时,地图上的点位是我们通过接口,获取点位信息(坐标以及其他信息)形成marker,防止点位过多导致地图加载点比较缓慢,可将每个marekr存入到markers数组,地图初始化聚合,逐步加载。
map.createClusters(makers);`
    
    但如何获取聚合点位下的信息?我们知道marker点是地图上的覆盖物,我们是否可以借助画图工具,框选聚合点,进而获取该聚合点下所包含的信息?
在这里插入图片描述
    刚开始通过 map.getOverlays() 获取地图上的点位信息,但通过开发者模式发现,该方法获取的是聚合点(不包含聚合下的点)+未聚合的点,聚合点下的信息根本获取不到,于是尝试将地图初始化加载的marker存到一个数组里面,通过框选区域进行过滤:

           marker.markerinfo=aa;	//aa代表每个点位的信息,如坐标以及其他信息
           markerArr.push(marker);
           var drawingManager = new BMapLib.DrawingManager(map, {
            isOpen: false, //是否开启绘制模式
            enableDrawingTool: false, //是否显示工具栏
            drawingToolOptions: {
                anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
                offset: new BMap.Size(5, 5) //偏离值
            },
            circleOptions: styleOptions, //圆的样式
            polylineOptions: styleOptions, //线的样式
            polygonOptions: styleOptions, //多边形的样式
            rectangleOptions: styleOptions //矩形的样式
        });
			drawingManager.addEventListener('overlaycomplete', function (e) {
            var el=e.currentTarget;
            el.close();
        });
       		 for (var i=0;i<markerArr.length;i++){
        	 var markerInfo=markerArr[i].markerInfo;
        	 if (markerInfo){
             	   var point=new BMap.Point(markerInfo.longitude,markerInfo.latitude);
               		 if (drawingManager.overlay.containPoint(point)){
                  //如果点位在画圆的区域,则可以进行存储。
                 // 所以可以框选聚合点,进行筛选获取聚合点所包含信息。
               
                    
                }
       }         

获取聚合点所包含点位信息,即可进行下一步操作。
    上述只是作为获取聚合点包含点信息参考,实际操作还需参考百度地图API,如有问题欢迎指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值