`

地图覆盖物的气泡显示

阅读更多

地图上添加的覆盖物过多时,可能会出现相互覆盖的情况,下面采用算法计算根据地图缩放的程度,将坐标相近的覆盖物放入气泡中,气泡上显示覆盖物的数量。

// 计算分组,对数据进行分组处理,按组显示,组内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));
}

 

分享到:
评论

相关推荐

    安卓天地图(标绘,测量,显示覆盖物,气泡弹窗,arcgis)示例

    安卓天地图(标绘,测量,显示覆盖物,气泡弹窗,arcgis)示例安卓天地图(标绘,测量,显示覆盖物,气泡弹窗,arcgis)示例安卓天地图(标绘,测量,显示覆盖物,气泡弹窗,arcgis)示例安卓天地图(标绘,测量,...

    web端js百度地图自定义maker覆盖物_鼠标悬停展示行政区域高亮

    4. **地图覆盖物**:覆盖物是百度地图API中的一个重要概念,它可以在地图上添加自定义的图形或图片,比如标记、信息窗口等。开发者可以自定义覆盖物的样式和行为,以满足各种需求。 5. **自定义覆盖物**:在本案例...

    Android百度地图覆盖物和弹出泡泡

    首先,地图覆盖物(Marker)是在地图上展示的一种图形元素,可以用来表示特定的位置或者信息。例如,我们可以用覆盖物表示商店、公交站等地点。创建覆盖物通常涉及以下几个步骤: 1. 引入百度地图SDK:在Android...

    高德地图定位、周边搜索、位置弹框、添加覆盖物等功能

    添加覆盖物是高德地图API的一个重要特性,开发者可以创建各种形状和样式的覆盖物,如图标、气泡、多边形等,并在地图上进行动态管理。每个覆盖物都可以绑定点击事件,当用户点击时触发相应的回调函数,执行如打开...

    Android百度地图添加覆盖物

    `ItemizedOverlayWithBubble`是百度地图提供的一种带气泡信息的覆盖物,可以自定义气泡的样式和内容。 最后,别忘了在Activity的生命周期方法中正确管理MapView: ```java @Override protected void onResume() { ...

    实现地图定位冒气泡的功能

    ### 实现地图定位冒气泡功能的技术细节 在本文中,我们将深入探讨如何利用Silverlight ArcGIS API实现地图上的“冒气泡”功能。此功能主要用于在地图上以直观的方式展示特定位置的数据或信息,例如人口密度、销售额...

    arcgis api覆盖物动态聚合效果源码1

    标题中的“arcgis api覆盖物动态聚合效果源码1”指的是使用Esri的ArcGIS API进行地图覆盖物的动态聚合功能实现。ArcGIS API是Esri公司提供的一个强大的JavaScript库,用于在Web浏览器中构建地理信息系统(GIS)应用...

    百度地图之覆盖物

    它类似于一个浮动的小气泡,当用户点击地图上的某个点或者覆盖物时,InfoWindow会弹出,显示预先定义好的文本、图片或HTML内容。 实现点击覆盖物弹出InfoWindow,我们需要以下几个步骤: 1. **创建覆盖物**:首先...

    地图气泡框应用

    在地图编程中,overlay是一个重要的概念,它代表地图上的覆盖物,可以是点、线、面或者其他自定义形状。当我们需要在地图上添加自定义元素,比如气泡框,就需要创建一个继承自`overlay`的类,重写其绘制和事件处理...

    新版3.0.0 百度地图定位 覆盖网练习

    开发者可以通过监听覆盖物的点击事件,触发一个弹窗或者气泡窗口,展示与该覆盖物相关的详细信息,如地址、营业时间、评价等。这样的设计使得用户无需离开地图界面就能获取关键信息,提升了使用便捷性。 总的来说,...

    Android 仿百度地图气泡程序源码.zip

    使用这个API,我们可以添加标记(Markers)、覆盖物(Overlays)以及实现地图交互。在这个示例中,开发者可能使用了Google Maps V2 API,因为它支持更丰富的功能和更好的性能。 气泡(Bubble)通常指的是地图上标记...

    微信小程序地图demo

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,尤其在微信环境...通过深入研究和修改这个示例,开发者可以掌握更多高级特性,如实时定位、路径规划、地图覆盖物等,从而构建出更丰富、功能更强大的地图应用。

    百度地图自定义跳动的点,当有数据更新时提示加(增加的量)

    当有数据更新时,我们可以计算出增加的量,并将这个信息显示在标记上或者作为气泡(InfoWindow)展示。使用`BMap.InfoWindow`类可以创建信息窗口,然后设置其内容为新增的数据量。同时,我们可以通过事件监听来触发...

    百度地图相关内容汇总

    2. **百度地图系列教程**:一系列的教程涵盖了从基础到进阶的百度地图使用方法,包括地图的显示、定位、POI(Point of Interest)查询、覆盖物的添加等。这些教程对于初学者来说是非常宝贵的资源,可以帮助他们快速...

    Andriod基础--百度地图定位功能

    1. 覆盖物是地图上的个性化元素,如图标、标记、气泡等,通过Overlay类实现。 2. 创建自定义的Overlay子类,重写onDraw()方法绘制覆盖物,onTap()处理点击事件。 3. 使用MapView的addOverlay()方法添加覆盖物到地图...

    android 百度地图ItemsOverlay的使用

    ItemsOverlay是百度地图API中的一个关键类,它允许开发者在地图上显示一系列的标记(Markers)或者覆盖物(Overlays),并能够对这些元素进行交互操作,如点击事件的处理。在这里,我们将深入探讨如何在Android应用...

    百度地图测试程序

    覆盖物是在地图上添加自定义图像或形状,如标记、气泡、图标等,用于表示特定地点或者信息。在测试程序中,可能包含了图标覆盖物,用于标识某些特定地点或事件。 6. **多边形覆盖**: 多边形覆盖允许用户在地图上...

    MapTest 高德地图开发功能大全

    覆盖物是在地图上添加自定义图形或图片,如标记、气泡、热力图等。MapTest提供了丰富的覆盖物示例,包括静态和动态覆盖物的添加和管理。信息窗口则常用于展示覆盖物的详细信息,如点击标注后弹出的窗口。 七、事件...

    android 百度地图demo

    在Demo中,你会看到如何添加标记、气泡、多边形等覆盖物。 7. **Place详情页**:Place详情页展示了地图上的地点详细信息,如地址、电话、营业时间等。Demo展示了如何打开和定制Place详情页,提升用户体验。 8. **...

    高通地图demo

    8. **覆盖物**:在地图上添加自定义图标、标记、多边形或线,用于表示特定的数据或区域。例如,可以创建自定义的图层来显示天气预报或空气质量。 9. **地理编码与反向地理编码**:将地址转化为经纬度坐标的过程称为...

Global site tag (gtag.js) - Google Analytics