String photoReference = imageDataObject.getPhotoReference();
String width = imageDataObject.getWidth();
String height = imageDataObject.getHeight();
ApiInterface apiServicePhoto = ApiClient.getClient(GlobalConstant.BASE_URL_PHOTO).create(ApiInterface.class);
Call<ResponseBody> callPhoto = apiServicePhoto.getSinglePhoto(GlobalConstant.MAX_WIDTH_IMAGE, photoReference, GlobalConstant.API_KEY);
callPhoto.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
Log.e(TAG, "onResponse: " + response);
if (response.isSuccessful()) {
if (response.body() != null) {
Log.e(TAG, "onResponse: ");
}
Log.e(TAG, "onResponse: " + response.body());
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.e(TAG, "onFailure: ");
}
});
// API接口
@GET("photo")
Call<ResponseBody> getSinglePhoto(@Query("maxwidth") Integer maxwidth, @Query("photoreference") String photoreference, @Query("key") String key);
// API客户端
public class ApiClient {
private static Retrofit retrofit = null;
public static Retrofit getClient(String baseUrlRestro) {
if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl(baseUrlRestro)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
//基本网址
public static final String BASE_URL_PHOTO = "https://maps.googleapis.com/maps/api/place/";
我正在尝试此代码,但我无法获得任何响应正文。身体总是空的。有没有办法使用照片参考来获取照片。
提前感谢
答案 0 :(得分:2)
因为Glide对我来说很好。我在这里为您发布代码。
ImageView ivPhoto = (ImageView) findViewById(R.id.ivPhoto);
String url = "https://maps.googleapis.com/maps/api/place/photo" +
"?maxwidth=400" +
"&photoreference=CnRtAAAATLZNl354RwP_9UKbQ_5Psy40texXePv4oAlgP4qNEkdIrkyse7rPXYGd9D_Uj1rVsQdWT4oRz4QrYAJNpFX7rzqqMlZw2h2E2y5IKMUZ7ouD_SlcHxYq1yL4KbKUv3qtWgTK0A6QbGh87GB3sscrHRIQiG2RrmU_jF4tENr9wGS_YxoUSSDrYjWmrNfeEHSGSc3FyhNLlBU" +
"&key=AIzaSyAfDHQhe4fmz5FAitOnTjrOFPesb88GXFE";
Glide.with(this)
.load(url)
.into(ivPhoto);