JSONException:索引0超出范围[0..0)

时间:2014-01-10 13:39:49

标签: android json

我正在尝试使用您已经知道的代码计算两个位置之间的路线。 在我的情况下,第一个位置是我的位置,第二个位置是最近的LatLng 一条路。

下面的代码计算最近的LatLng:

private LatLng nearestLatLng(Location mCurrentLocation) {

    LatLng latLngCurrentLocation = new LatLng(mCurrentLocation.getLatitude(), mCurrentLocation.getLongitude());
    double nearestLatitude = 0;
    double nearestLongitude = 0;
    float minDistance = 1000; //I don't know how to initialize 
    float currentDistance;

    for(int i=0; i<mLatLngGpxList.size(); i++) {
        LatLng currentTrackLatLng = mLatLngGpxList.get(i);
        currentDistance = getDistance(latLngCurrentLocation, currentTrackLatLng);
        if(currentDistance <= minDistance) {
            minDistance = currentDistance;
            nearestLatitude = currentTrackLatLng.latitude;
            nearestLongitude = currentTrackLatLng.longitude;
        }
    }

    //mGoogleMap.addMarker(new MarkerOptions().position(new LatLng(nearestLatitude, nearestLongitude)));
    return new LatLng(nearestLatitude,nearestLongitude);
}

//Calcola la distanza tra due LatLng
private float getDistance(LatLng first, LatLng second) {
    float [] dist = new float[1];
    Location.distanceBetween(first.latitude, first.longitude, second.latitude, second.longitude, dist);
    return dist[0];
}

如果我在我的国家画一条路,我也可以画出到达它的路径,但是如果我画一条路 远离我的国家,我明白了:

org.json.JSONException: Index 0 out of range [0..0)
at org.json.JSONArray.get(JSONArray.java:263)
at org.json.JSONArray.getJSONObject(JSONArray.java:480)

因此没有画出我路径的路径。为什么? :(

Ps:我不会收到“error_message”:“您已超出此API的每日请求配额。”

更新:错误在上面的代码中。建议吗? :/

第二次更新:float minDistance = 1000; - &GT;变得漂浮minDistance = 100000000 现在有效。它仍然是一个逻辑问题,但我会看到..:/

0 个答案:

没有答案