Android studio 百度map开发(6)Marker绑定事件、计算两点距离
Android studio 百度地图开发(6)Marker绑定事件、计算两点距离
Android studio 百度地图开发(6)Marker绑定事件、计算两点距离
email:chentravelling@163.com
开发环境:win7 64位,Android Studio,请注意是Android Studio,使用的导航SDK版本:3.1.0。
- 百度地图应用(1):Android studio
百度地图开发(1)配置工程、显示地图
- 百度地图应用(2):Android studio 百度地图开发(2)地图定位
- 百度地图应用(3):Android studio 百度地图开发(3)地图导航
- 百度地图应用(4):Android studio 百度地图开发(4)触摸选点、地理编码
- 百度地图应用(5):Android studio 百度地图开发(5)查询周边服务(加油站)
一.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"; }