我试图找到一种从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 places api的jsonobject格式
因为有更多的代码,但是我刚刚上传了我得到jsonobject的部分

最佳答案

这是我在//do somethign here部分必须做的:

        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=...");
        }

07-24 09:32