【问题标题】:DistanceTo() incorrect distance between two placesDistance To() 两个地方之间的距离不正确
【发布时间】:2015-09-19 16:24:49
【问题描述】:

在我的应用程序中,我使用“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.htmlhttp://www.mapdevelopers.com/distance_from_to.php 在这种情况下,差异约为 3 公里,但有时差异有时甚至更大!请帮我!为什么这段代码不能正常工作?谢谢

【问题讨论】:

  • 如果有帮助可以试试地图工具googlemaps.github.io/android-maps-utils
  • 为什么你认为应该是8.5?第一个链接说:11.17
  • @pskink 第一个链接说 8.570 公里!请输入正确的坐标
  • ok,第一点的纬度是多少?你打电话给qui.setLatitude(latitudine); qui.setLatitude(longitudine);,有什么意义呢?
  • @pskink 啊好吧!啊啊现在我明白设置经度了

标签: java android gps maps distance


【解决方案1】:

你没有同时在Locations 上调用setLongitude,你需要:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 其实我设置了The Other One的经纬度,我猜有两组指定坐标
    猜你喜欢
    • 2016-11-06
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 2013-07-15
    相关资源
    最近更新 更多