0

道路 API を使用して現在の場所の距離を取得し、onLocationChanged に Latlng のリストを追加し、一連の座標 (約 100 ~ 200 ポイント) を道路にスナップすると、json が返されて正確な距離が取得されます。運転の。

-- 緯度と経度が入力されていないパス パラメーターに問題があり、この "|" で結合されます。しかし、私は次のようなエラーが発生しました。---これは私のURLです

    protected String getSnapUrl(List<LatLng> pat_value) {
    String str_path = null;

    for (int x = 0; x < pat_value.size(); x++) {
        str_path = "path=" + pat_value.get(x).latitude + "," + pat_value.get(x).longitude + "|";
        Log.e("path", "" + pat_value.get(x).latitude + "-" + pat_value.get(x).longitude);
    }

    String str_interpolate = "interpolate=true";
    String key = "key=google key";
    String parameters = str_path + "&" + str_interpolate + "&" + key;
    String output = "snapToRoads";
    String url = output + "?" + parameters;

    return url;
}

protected void snapToRoad() {
    SnapToRoadAsyncHttpClient.get(getSnapUrl(path), null, new JsonHttpResponseHandler() {
        @Override
        public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
            super.onSuccess(statusCode, headers, response);
            Log.e("snapToRoad", "" + response);
        }

        @Override
        public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
            super.onFailure(statusCode, headers, throwable, errorResponse);
            Log.e("snapToRoadFail", "" + errorResponse + throwable);
        }

        @Override
        public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
            super.onFailure(statusCode, headers, responseString, throwable);
            Log.e("snapToRoadFail", "" + responseString + throwable);
        }
    });

}

--エラー snaptoroads エラー:400 メッセージ:パス。

4

1 に答える 1

1

ステータス コード 400 は無効なリクエストによるものです。Roads API は最大 100 ポイントを受け取ります。ポイントを減らしてみてください。

于 2016-03-11T23:20:55.913 に答える