如何比较2个位置的位置

时间:2013-08-09 12:38:20

标签: android gps textview location latitude-longitude

我有一个TextView的应用找到了您的位置,当您移动时,TextView中的值会发生变化。

我想知道如何注册第一个位置,然后在5分钟后查找位置。

例如:

min 0
LAT 000000
LONG 000000

(保存)

min 5
LAT 1111111
LONG 111111

如果min0 == min 5

...

总结一下,我想比较2个字符串(开头的lat和long)和lat& 5分钟后很久。

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:7)

This Link应该符合您的目的;

浏览distanceTo or distanceBetween。您可以从纬度和经度创建位置对象:

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

我遇到的另一种解决方案

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

如果你的几个分数相差太远,你可以使用{{1>}版本( Equirectangular ),这要快得多。

approximate

希望有所帮助。

答案 1 :(得分:-2)

要比较两个字符串,请使用String.equals(其他字符串),http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#equals(java.lang.Object),但位置和字符串格式必须相同。

如果你想在它上放一些缓冲区,所以位置不必完全相同,你可以解析字符串并将Lat和Long保存为一个整数,然后将它与之前的delta进行比较触发textview更新。