Android studio 百度地圖開發(6)Marker綁定事件、計算兩點距離


Android studio 百度地圖開發(6)Marker綁定事件、計算兩點距離

email:chentravelling@163.com

      開發環境:win7 64位,Android Studio,請注意是Android Studio,使用的導航SDK版本:3.1.0

一.Maker綁定點擊事件

 /**
* 為百度地圖中marker 增加點擊監聽函數
*/
baiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {

//響應點擊事件
return false;
}
});

二.根據百度地圖坐標計算兩點之間的距離:

/**
* 計算兩點之間距離
* @param start
* @param end
* @return 米
*/
public String getDistance(LatLng start,LatLng end){
double lat1 = (Math.PI/180)*start.latitude;
double lat2 = (Math.PI/180)*end.latitude;

double lon1 = (Math.PI/180)*start.longitude;
double lon2 = (Math.PI/180)*end.longitude;

//地球半徑
double R = 6371;

//兩點間距離 km,如果想要米的話,結果*1000
double d = Math.acos(Math.sin(lat1)*Math.sin(lat2)+Math.cos(lat1)*Math.cos(lat2)*Math.cos(lon2-lon1))*R;
if(d<1)
return (int)d*1000+"m";
else
return String.format("%.2f",d)+"km";
}



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com