如何从Google Place 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")

我是这样做的:

谷歌地图网址:

http://maps.google.com/maps/geo?q="+完整地址;

我读了它:

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);

希望对您有所帮助!

我从未使用过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"));
                }
            }
        }

最新更新