如何计算Android中两个lat long之间的距离和时间?

时间:2014-03-03 07:39:38

标签: android geolocation distance android-maps-v2

我在下面使用for-loop。如果代码不在循环内,代码会正确计算,但我想创建一个没有的列表。距离和时间。

KIEL = new LatLng(lat, log);                    
for(i=0;i<jarray.length;i++){
    KIEL = new LatLng(lat, log);
    doc = md.getDocument(fromPosition, KIEL,
        GMapV2Direction.MODE_DRIVING);
    duration = "" + md.getDurationValue(doc);
    distance = md.getDistanceText(doc);

    HashMap<String, String> map = new HashMap<String, String>();
    map.put("distance", distance);
    map.put("time", duration );

    // // adding HashList to ArrayList
    locationlist.add(map);                      
}

docDocument类的对象,它计算两个位置之间的距离和时间。但是当我在循环中使用此方法时,它将不显示任何数据。如何解决?

2 个答案:

答案 0 :(得分:2)

使用Location.distanceTo(位置),它将为您提供两个不同位置之间的距离。

喜欢distance = currentLocation.distanceTo(newLocation);

答案 1 :(得分:0)

从此处下载库并导入您的项目

https://github.com/googlemaps/android-maps-utils

按照此链接为您提供距离

googlemaps.github.io/android-maps-utils/javadoc /

像这样使用,你将获得完美的区域和距离......

SphericalUtil.computeDistanceBetween(LatLng from,LatLng to);