DistanceTo()两个地方之间的距离不正确

时间:2015-09-19 16:24:49

标签: java android gps maps distance

在我的应用程序中,我使用方法" DistanceTo()"获取地点之间的距离,但不能正常工作!!这是我这段距离的代码:

double  latitudine;
double longitudine;
latitudine = 40.17;
longitudine = 24.9;
Location qui = new Location("Corrente");
qui.setLatitude(latitudine);
qui.setLatitude(longitudine);

double  latitudine2;
double longitudine2;
latitudine2 = 40.16;
longitudine2 = 25;
Location due = new Location("Corrente2");
due.setLatitude(latitudine2);
due.setLatitude(longitudine2);
float b =  qui.distanceTo(due);
Toast.makeText(getBaseContext(), "DESTINAZIONE KILOMETRI b:" + b, Toast.LENGTH_SHORT).show();

吐司给我看11077.14米,但距离应该是8.5公里!!如以下网站所示:http://www.movable-type.co.uk/scripts/latlong.html http://www.mapdevelopers.com/distance_from_to.php 在这种情况下,差异是大约3公里,但有时差异有时差异甚至更多!请帮我!为什么这段代码不能正常工作?感谢

2 个答案:

答案 0 :(得分:0)

可能想要查看Point2D.Distance。它返回

  

两组指定坐标之间的距离。

答案 1 :(得分:0)

你没有在setLongitude上致电Locations,你需要:

qui.setLongitude(longitudine);
due.setLongitude(longitudine2);