Android studio 百度地图开发Marker绑定事件计算两点距离
Posted 生活没有if-else
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android studio 百度地图开发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";
}
以上是关于Android studio 百度地图开发Marker绑定事件计算两点距离的主要内容,如果未能解决你的问题,请参考以下文章
Android studio 百度地图开发查询周边服务(加油站)
Android studio 百度地图开发之2022地图显示与定位
Android studio 百度地图开发Marker绑定事件计算两点距离