高德地图API总结--定位点、单个Marker,聚合后Marker的点击区别处理

定位点、单个Marker,聚合后Marker的点击区别处理
高德地图中的定位点也是一个Marker,只不过是一个特殊的marker,当添加其他Marker点击事件的时候,我们会发现:当点击定位点的时候也会同样响应Marker的点击事件,
可以采用如下的方法识别:
通过添加Marker时设置的Marker点信息判断,如下通过ChargerType进行区分判断的
if (marker.getZIndex() != 1) {
if (ChargerType.equals("0")) {
httpGetChargerPileInfo(chargerID, ChargerType, chargerStatus);
} else if (ChargerType.equals("1")) {
httpGetChargerStationInfo(chargerID, ChargerType, chargerStatus);
}

}
对于聚合后Marker和单个Marker的点击事件的判断
上段代码通过marker.getZIndex() != 1来进行判断,因为我们在设置的时候讲聚合后的MarkerOptions的zIndex设置为“1”
点击聚合的Marker怎么处理呢?
如下代码,在聚合处理的时候将集合的Marker的坐标设置为第一个Marker的坐标,所以在点击聚合Marker的时候,相当于在聚合Marker的坐标上的点击事件;同时,通过aMap.moveCamera(CameraUpdateFactory.zoomTo(16));
这一方法,可以将地图放大到级别为16,这样在区域方位内只会显示各个单个的Marker
double mlat = mIncludeMarkers.get(0).getPosition().latitude;
double mlng = mIncludeMarkers.get(0).getPosition().longitude;
mMarkerOptions.position(new LatLng(mlat, mlng))
.zIndex(1);

以前写的文章没有发表的,仅供参考和学习只用
谢谢惠顾,感觉有用的点个赞,本篇文章结合之前的文章使用,谢谢

《高德地图API总结--Marker多点聚合》https://www.jianshu.com/p/910f8c6c4866
《高德地图API总结--地图打点》https://www.jianshu.com/p/7d36786d6ea8

部分资源来源于网络

你可能感兴趣的:(高德地图API总结--定位点、单个Marker,聚合后Marker的点击区别处理)