0

我在下面输入了获取位置数组以获取纬度,但它不起作用。我的代码有什么错误吗?我可以得到结果,但我无法得到几何图形。

 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")
4

2 回答 2

0

我从未使用过google-places-api,但我只是尝试了一些东西。我只是从https://developers.google.com/maps/documentation/places/place-search-response获取示例文件 并将其复制到文件中作为输入。(编辑:我正在使用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"));
                }
            }
        }
于 2012-06-27T14:26:23.597 回答
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);

希望能帮助到你!

于 2012-06-27T14:07:58.127 回答