地图上添加的覆盖物过多时,可能会出现相互覆盖的情况,下面采用算法计算根据地图缩放的程度,将坐标相近的覆盖物放入气泡中,气泡上显示覆盖物的数量。
// 计算分组,对数据进行分组处理,按组显示,组内count子节点数量>0附加到第一个元素后面显示列表(可链接触发弹框) function computeGroup(data){ var mapscale=500; var _data = data; for(var i=0;i<_data.length;i=i+1) { _data[i].childrenIds = _data[i].car_id; // 已经是followers则不进行计算 // 如果不是followers,则作为分组leaders,分组leader没有leader属性,对后面元素进行判断 if(!_data[i].leader) { for(var j=i+1;j<_data.length;j=j+1) { if(!_data[j].leader) { var distance = getBDistanceByData(_data[i],_data[j]); if (distance<=mapscale) { _data[j].leader=_data[i].car_id; // 子节点数量 if(!_data[i].count) { _data[i].count = 1; } else { _data[i].count = _data[i].count+1; } _data[i].childrenIds = _data[i].childrenIds+","+_data[j].car_id; } } } } } return _data; } // 根据获取的数据获取高德地图点对象 function getAPoint(obj) { return new AMap.LngLat(obj.longitude_point, obj.dimensionality_point); } // 获取百度地图两点间距(p1,p2为BMap.Point类型) function getBDistance(p1,p2) { return map.getDistance(p1,p2); } // 根据获取的数据得到地图两点间距(obj1,obj2为json类型) function getBDistanceByData(obj1,obj2) { return getBDistance(getAPoint(obj1),getAPoint(obj2)); }
相关推荐
百度地图 SDK v3.5.0 实现一个具有动画效果的标注覆盖物
ShitMap覆盖物添加demo
Android手机中利用百度地图进行的地图覆盖物添加和点击覆盖物弹出泡泡。
同时本代码实例补充了百度地图API功能,实现在多边形覆盖物中心点显示覆盖区域名称的功能,同时改变覆盖物形状,名称位置会自动更新于覆盖物的中心。点击名称还可弹出名称编辑对话框,实现更新覆盖区域名称的目的,...
是用的是高德地图 包含定位,覆盖物,和根据缩放级别改变覆盖物的大小,和pop的弹窗显示内容
Android 百度地图覆盖物 自定义覆盖物样式,异步绑定覆盖物的网络图片
自己做的一个综合实例,包括自定义覆盖物 地图单击弹窗 提示信息等功能 。唯一遗憾的是没有实现标注物聚合。这里给出网址大家可以自己研究下http://my.eoe.cn/imesong/archive/21397.html
js鼠标悬停高亮显示行政区/地图自定义覆盖物/地图api
百度地图的开发示例,先通过定位来找到经纬度,再通过经纬度找到覆盖物的位置.
安卓天地图(标绘,测量,显示覆盖物,气泡弹窗,arcgis)示例
百度地图自定义覆盖物,覆盖物显示信息可完全自己根需求,div+css
本类实现了 对具有setOptions、setMap和setVisible方法的 地图覆盖物对象集合 的动态管理
关于百度地图的操作,有需要做覆盖物的和我的位置的可以进行下载,做的不是很好,但希望可以帮助到您!嘿嘿
js google map 地图 覆盖物 渲染 定位 获取城市名 将省份各个地图色块显示;得到点击位置的地名、类型等
在高德地图中添加标记marker,点击marker时会弹出对应弹窗,也就是常说的气泡。
百度在线地图,绘制圆形覆盖物且可进行编辑,实现收缩并实时显示半径
是本人根据百度地图官网写的一个关于BaiduMap添加覆盖物的demo
介绍百度地图的覆盖物,线条的用法
基于百度地图实现的自定义的覆盖物,欢迎大家下载
百度地图: 显示地图,在地图上找到自己的位置,并用覆盖物标出来