2012-06-27 98 views
0

我有下面的類型獲取位置數組獲取緯度,但它不能工作。 我的代碼有錯嗎?我可以得到結果,但我無法得到幾何。如何從谷歌地方API獲取位置JSON(android)

JSONTokener jsonParser = new JSONTokener(strResult); 
JSONObject jsonObject = new JSONObject(strResult); 

JSONArray routeObject = jsonObject.getJSONArray("results"); 

routeObject.getJSONObject(0).getJSONArray("geometry").getJSONObject(0).getJSONArray("location").getJSONObject(0).getDouble("lat") 

回答

0

我做了這種方式:

谷歌地圖網址:

http://maps.google.com/maps/geo?q=「+ fullAddress;

我讀它:

JSONObject response = new JSONObject(result); 
JSONObject point = response.getJSONArray("Placemark").getJSONObject(0).getJSONObject("Point"); 

      lat = point.getJSONArray("coordinates").getString(1); 
      lng = point.getJSONArray("coordinates").getString(0); 

希望它幫助!

0

我從來沒有使用google-places-api,但我只是嘗試了一些東西。我只是從https://developers.google.com/maps/documentation/places/地方搜索響應示例文件,並將其複製到一個文件作爲輸入。 (編輯:我使用http://code.google.com/p/google-gson/解碼)

我的代碼來解碼JsonFile看起來像,併爲您的latitude你正在尋找:

 JsonParser parser = new JsonParser(); 
     JsonObject obj = (JsonObject)parser.parse(new FileReader(path)); 

     for(Entry<String, JsonElement> entry : obj.entrySet()) { 
      String key = entry.getKey(); 
      System.out.println(key); 

      if(key.trim().equals("results".trim())) { 
       for(JsonElement ele2 : entry.getValue().getAsJsonArray()) { 
        System.out.println(ele2.getAsJsonObject().get("geometry").getAsJsonObject().get("location").getAsJsonObject().get("lat")); 
       } 
      } 
     } 
相關問題