如何从PlacePhotoMetadata获取URL

时间:2018-06-03 15:37:24

标签: android kotlin google-places-api

我似乎无法从PlacePhotoMetadata对象获取网址。调试器显示有一个URL但我似乎无法访问它。 你如何访问对象中的URL?

val placeId = "ChIJa147K9HX3IAR-lwiGIQv9i4"
val photoMetadataResponse = mGeoDataClient.getPlacePhotos(placeId)
photoMetadataResponse.addOnCompleteListener { task ->
    // Get the list of photos
    val photos = task.result
    // Get the PlacePhotoMetadataBuffer (metadata for all of the photos)
    val photoMetadataBuffer = photos.photoMetadata
    // Get the first photo in the list
    for (photo in photoMetadataBuffer) {
        // Get the attribution text
        val attribution = photo.attributions
    }
}

Access to zzhd

1 个答案:

答案 0 :(得分:0)

你做不到。请查看PlacePhotoMetadata的文档。有一些方法可以下载图像的位图,但没有方法可以返回URL。

要拍照,你应该这样做:

// this is your for-loop:
photoMetadataBuffer.forEach { photo ->
    photo.getPhoto(client).setResultCallback({ result ->

        // do whatever you want here:
        showPhotoWithAttribution(photo.attributions, result.getBitmap())

    })
}

请注意,使用for调用替换forEach - 循环没有任何实际优势,它只会让您的代码看起来更清晰。