我有下面的类型来获取位置数组以获得纬度,但它无法正常工作。 我的代码中有任何错误吗?我可以得到结果,但我不能得到几何。
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 :(得分: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);
希望它有所帮助!
答案 1 :(得分: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"));
}
}
}