我有一个TextView
的应用找到了您的位置,当您移动时,TextView
中的值会发生变化。
我想知道如何注册第一个位置,然后在5分钟后查找位置。
例如:
min 0
LAT 000000
LONG 000000
(保存)
min 5
LAT 1111111
LONG 111111
如果min0 == min 5
...
总结一下,我想比较2个字符串(开头的lat和long)和lat& 5分钟后很久。
任何建议都将受到赞赏。
答案 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更新。