定位點(diǎn)零远、單個(gè)Marker苗分,聚合后Marker的點(diǎn)擊區(qū)別處理
高德地圖中的定位點(diǎn)也是一個(gè)Marker,只不過是一個(gè)特殊的marker牵辣,當(dāng)添加其他Marker點(diǎn)擊事件的時(shí)候摔癣,我們會(huì)發(fā)現(xiàn):當(dāng)點(diǎn)擊定位點(diǎn)的時(shí)候也會(huì)同樣響應(yīng)Marker的點(diǎn)擊事件,
可以采用如下的方法識(shí)別:
通過添加Marker時(shí)設(shè)置的Marker點(diǎn)信息判斷纬向,如下通過ChargerType進(jìn)行區(qū)分判斷的
if (marker.getZIndex() != 1) {
if (ChargerType.equals("0")) {
httpGetChargerPileInfo(chargerID, ChargerType, chargerStatus);
} else if (ChargerType.equals("1")) {
httpGetChargerStationInfo(chargerID, ChargerType, chargerStatus);
}
}
對(duì)于聚合后Marker和單個(gè)Marker的點(diǎn)擊事件的判斷
上段代碼通過marker.getZIndex() != 1來進(jìn)行判斷择浊,因?yàn)槲覀冊(cè)谠O(shè)置的時(shí)候講聚合后的MarkerOptions的zIndex設(shè)置為“1”
點(diǎn)擊聚合的Marker怎么處理呢?
如下代碼逾条,在聚合處理的時(shí)候?qū)⒓系腗arker的坐標(biāo)設(shè)置為第一個(gè)Marker的坐標(biāo)琢岩,所以在點(diǎn)擊聚合Marker的時(shí)候,相當(dāng)于在聚合Marker的坐標(biāo)上的點(diǎn)擊事件师脂;同時(shí)粘捎,通過aMap.moveCamera(CameraUpdateFactory.zoomTo(16));
這一方法,可以將地圖放大到級(jí)別為16危彩,這樣在區(qū)域方位內(nèi)只會(huì)顯示各個(gè)單個(gè)的Marker
double mlat = mIncludeMarkers.get(0).getPosition().latitude;
double mlng = mIncludeMarkers.get(0).getPosition().longitude;
mMarkerOptions.position(new LatLng(mlat, mlng))
.zIndex(1);
以前寫的文章沒有發(fā)表的,僅供參考和學(xué)習(xí)只用
謝謝惠顧泳桦,感覺有用的點(diǎn)個(gè)贊汤徽,本篇文章結(jié)合之前的文章使用,謝謝
《高德地圖API總結(jié)--Marker多點(diǎn)聚合》http://www.reibang.com/p/910f8c6c4866
《高德地圖API總結(jié)--地圖打點(diǎn)》http://www.reibang.com/p/7d36786d6ea8
部分資源來源于網(wǎng)絡(luò)