android 计算距离,android – 计算两个地理位置之间的距离

该博客介绍了如何利用Android的Location类计算两个地理坐标点之间的距离。通过创建Location对象并设置各自的经纬度,可以使用distanceTo方法或者自定义方法meterDistanceBetweenPoints来获取两地点之间的距离。这种方法在开发中对于定位和导航应用非常实用。
摘要由CSDN通过智能技术生成

http://developer.android.com/reference/android/location/Location.html

看看distanceTo或distanceBetween。您可以从纬度和经度创建位置对象:

Location locationA = new Location("point A");

locationA.setLatitude(latA);

locationA.setLongitude(lngA);

Location locationB = new Location("point B");

locationB.setLatitude(latB);

locationB.setLongitude(lngB);

float distance = locationA.distanceTo(locationB);

要么

private double meterDistanceBetweenPoints(float lat_a, float lng_a, float lat_b, float lng_b) {

float pk = (float) (180.f/Math.PI);

float a1 = lat_a / pk;

float a2 = lng_a / pk;

float b1 = lat_b / pk;

float b2 = lng_b / pk;

float t1 = FloatMath.cos(a1)*FloatMath.cos(a2)*FloatMath.cos(b1)*FloatMath.cos(b2);

float t2 = FloatMath.cos(a1)*FloatMath.sin(a2)*FloatMath.cos(b1)*FloatMath.sin(b2);

float t3 = FloatMath.sin(a1)*FloatMath.sin(b1);

double tt = Math.acos(t1 + t2 + t3);

return 6366000*tt;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值