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";
}