我正试图找到一种从google places api获取照片参考字符串的方法。这是谷歌的格式:
"photos" : [
{
"height" : 768,
"html_attributions" : [
"\u003ca href=\"https://maps.google.com/maps/contrib/114756359878708427597/photos\"\u003eHotel Olympic\u003c/a\u003e"
],
"photo_reference" : "CmRdAAAAGWSabKG9f1wwRa1-dg0RVlb_m54RQDO023QTxEgOdFvlE2KjnK9Saxiqnxanr0yTCdbEg183RUk0kncFVwmFoQ8kn5yjnPHGZ-3-vi8Jck-6MbfJLU__h7hibPJ4tko3EhAhSR1B_4-eT4c6A_s_32I_GhTFiO19eMhOD5x5xYfB4DN3ABOtKA",
"width" : 1024
}
]
如何获取照片参考字符串?有没有办法实现这一点,还是我必须做其他事情?
这是我的java代码:
private HashMap<String, String> getPlace(JSONObject jPlace){
HashMap<String, String> place = new HashMap<String, String>();
String photo_reference= "-NA-";
if(!jPlace.isNull("photos")){
//something to do here
}
//a string builder here to create the url
place.put("photo", theUrl);
}
其中jPlace是google放置一个JSONObject格式的地方
Ofcource有更多的代码,但我刚刚上传了我得到jsonObject的部分
答案 0 :(得分:2)
这是我在 StringBuilder sb = new StringBuilder("https://maps.googleapis.com/maps/api/place/photo?maxwidth=50&photoreference=");
JSONArray photos = jPlace.getJSONArray("photos");
//Run for loop for getting photo_reference string in each object
for (int i=0; i <= photos.length; i++){
JSONObject getPhtotos = photos.getJSONObject(i);
String photo_reference = getPhtotos.getString("photo_reference");
sb.append(photo_reference);
sb.append("&key=...");
}
部分所要做的事情:
{{1}}