我正在嘗試使用 Google Maps Directions API 獲取路線。
這幾乎是谷歌自己的檔案顯示的內容https://developers.google.com/maps/documentation/directions/get-directions#maps_http_directions_toronto_montreal-java
請求的 URL 在粘貼到瀏覽器時有效,所以這是正確的。
運行此命令后,我可以看到一個額外的 Directions API 請求。
回應中沒有 JSON 方向。
我究竟做錯了什么?
private class getDirections extends AsyncTask<LatLng, Void, String> {
@Override
protected String doInBackground(LatLng... point) {
try {
OkHttpClient client = new OkHttpClient().newBuilder()
.writeTimeout(60, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.build();
Request request = new Request.Builder()
.url("https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=" MAPS_API_KEY)
.method("GET", null)
.build();
Response response = client.newCall(request).execute();
Log.d("response1", response.message());
if (response.message() == "") {
return "error";
}
return response.body().string();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
除錯器中“回應”的影像
uj5u.com熱心網友回復:
response.message()不是body,它只是200之后的字串。
HTTP/1.1 200
以數字方式或通過檢查回應if (!response.isSuccessful) {
這個查詢對我有用。
{
"geocoded_waypoints": [
{
"geocoder_status": "OK",
"place_id": "ChIJpTvG15DL1IkRd8S0KlBVNTI",
"types": [
"locality",
"political"
]
},
{
"geocoder_status": "OK",
"place_id": "ChIJDbdkHFQayUwR7-8fITgxTmU",
"types": [
"locality",
"political"
]
}
],
"routes": [
{
"bounds": {
"northeast": {
"lat": 45.5017123,
"lng": -73.5672184
},
"southwest": {
"lat": 43.6533961,
"lng": -79.3834913
}
},
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/427068.html
