gpt4 book ai didi

android - 如何找到 map 中两个地理点之间的正确距离?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:51:35 25 4
gpt4 key购买 nike

我需要开发一个应用程序,用户必须在其中找到他停放的汽车并显示他与停放的汽车之间的距离。我使用了 GPS 和定位服务。

对于距离,我使用了 haversine 公式,但距离始终显示为 0 米。

我尝试了很多在谷歌中搜索解决方案,但没有得到任何正确的解决方案。

谁能给点建议?

最佳答案

Google 文档有两种方法

enter image description here

如果您从 GeoPoint 获取纬度/经度,那么它们的单位是微度。您必须乘以 1e6。

但我更喜欢使用下面的方法。 (它基于 Haversine 公式)

http://www.codecodex.com/wiki/Calculate_Distance_Between_Two_Points_on_a_Globe

double dist = GeoUtils.distanceKm(mylat, mylon, lat, lon);

/**
* Computes the distance in kilometers between two points on Earth.
*
* @param lat1 Latitude of the first point
* @param lon1 Longitude of the first point
* @param lat2 Latitude of the second point
* @param lon2 Longitude of the second point
* @return Distance between the two points in kilometers.
*/

public static double distanceKm(double lat1, double lon1, double lat2, double lon2) {
int EARTH_RADIUS_KM = 6371;
double lat1Rad = Math.toRadians(lat1);
double lat2Rad = Math.toRadians(lat2);
double deltaLonRad = Math.toRadians(lon2 - lon1);

return Math.acos(Math.sin(lat1Rad) * Math.sin(lat2Rad) + Math.cos(lat1Rad) * Math.cos(lat2Rad) * Math.cos(deltaLonRad)) * EARTH_RADIUS_KM;
}

最后分享一下红包信息。

如果您正在寻找行车路线,请在两个地点之间寻找路线,然后前往

http://code.google.com/p/j2memaprouteprovider/

关于android - 如何找到 map 中两个地理点之间的正确距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com