0

以下のコードを使用して、場所の詳細の結果を正常に返しました。

private PlaceDetails getPlaceDetails(String url) throws Exception{


        String jsonResults =null;
        HttpHelper helper = new HttpHelper();
        try {
            jsonResults = helper.GetJSonString(url);
            // Create a JSON object hierarchy from the results

             JSONObject jsonObj = new JSONObject(jsonResults.toString()).getJSONObject("result");

             placeDetails = new PlaceDetails();
             placeDetails.setName(jsonObj.getString("name"));
             placeDetails.setFormatted_address(jsonObj.getString("formatted_address"));
             placeDetails.setInternational_phone_number(jsonObj.getString("international_phone_number"));



        } catch (JSONException e) {
            Log.e("LOG_TAG", "Error processing JSON results " + e.getMessage().toString(), e);
        }

        return placeDetails;
    }

今、私の問題は、結果から緯度と経度の値を取得する方法がわからないことです。

前もって感謝します。

4

2 に答える 2

0

あなたの応答では、緯度経度を取得します

"geometry" : {
     "location" : {
       "lat" : -33.8669710,
       "lng" : 151.1958750
     }

このように JsonArray を使用してデータを解析するだけです

jsonObj.getJsonArray("ジオメトリ");

完全なコードについては、このリンクhttp://yuvislm.wordpress.com/2012/09/10/google-places-api-and-json-parsing-in-android/を参照できます

于 2013-08-28T11:44:07.597 に答える
0

次のように解析応答があります

JSONObject jsonObj = new JSONObject(jsonResults.toString());
JSONObject result =jsonObj.getJSONObject("result").getJSONObject("geometry").getJSONObject("location");
Double longitude  = result.getDouble("lng");
Double latitude =  result.getDouble("lat");

次のような応答が得られるので

"geometry" : {
     "location" : {
       "lat" : -33.8669710,
       "lng" : 151.1958750
     }

回答の詳細を見るには

https://developers.google.com/places/web-service/details#PlaceDetailsResults

于 2018-07-19T06:55:42.200 に答える