我在下面有类型来获取位置数组以获取纬度,但它不起作用。我的代码有错误吗?我可以得到结果,但我不能得到几何。
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"));
}
}
}