gpt4 book ai didi

android - 如何比较 2 个位置

转载 作者:太空狗 更新时间:2023-10-29 16:40:47 26 4
gpt4 key购买 nike

我有一个带有 TextView 的应用程序找到你的位置,当你移动时,TextView 中的值变化。

我想知道我该怎么做才能注册第一个位置,然后在 5 分钟后寻找该位置。

例如:

min 0<br/>
LAT 000000<br/>
LONG 000000

(保存)

min 5<br/>
LAT 1111111<br/>
LONG 111111

如果 min0 == min 5

...

总而言之,我想比较 2 个字符串(开头的纬度和经度)和 5 分钟后的纬度和经度。

任何建议将不胜感激。

最佳答案

This Link应该符合您的目的;

通过 distanceTo 或 distanceBetween。您可以根据纬度和经度创建 Location 对象:

Location location = new Location("");
location.setLatitude(lat);
location.setLongitude(lon);

我遇到的另一个解决方案,

有一个标准公式 ( Haversine )(也就是说,它适用于地球上任何一对经度/纬度)但性能很慢,因为它需要 7 个三角函数和 2 个平方根。

如果您的两个点相距不太远,您可以使用近似 版本(Equirectangular),这样速度要快得多。

// Approximate Equirectangular -- works if (lat1,lon1) ~ (lat2,lon2)
double x = (lon2 - lon1) * Math.cos((lat1 + lat2) / 2);
double y = (lat2 - lat1);
double d = Math.sqrt(x * x + y * y) * R; // where R is the earth's Radius
// R is 6,371 km

希望对您有所帮助。

关于android - 如何比较 2 个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18146848/

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