Я пытаюсь отображать фотографии определенных мест, используя photo_reference, предоставляемый Google Places API.
В настоящее время я использую запросы Сведения о месте в Google Places API для получения информации. о конкретных местах, но у меня возникают проблемы с отображением фотографий этих мест. Google предоставляет 'photo_reference' в ответе 'Place Details', который должен использоваться для получения определенных изображений, но документация здесь не очень помогает показать, как это сделать.
В настоящее время я делаю такие запросы Google Place Details: (у меня есть функция для создания URL-адреса, а затем функция для выполнения запроса)
func googlePlacesDetailsURL(forKey apiKey: String, place_ID: String) -> URL {
print("passed place_ID before url creation ", place_ID)
let baseURL = "https://maps.googleapis.com/maps/api/place/details/json?"
let place_idString = "place_id=" + place_ID
let fields = "fields=geometry,name,rating,price_level,types,opening_hours,formatted_address,formatted_phone_number,website,photos"
let key = "key=" + apiKey
print("Details request URL:", URL(string: baseURL + place_idString + "&" + fields + "&" + key)!)
return URL(string: baseURL + place_idString + "&" + fields + "&" + key)!
}
func getGooglePlacesDetailsData(place_id: String, using completionHandler: @escaping (GooglePlacesDetailsResponse) -> ()) {
let url = googlePlacesDetailsURL(forKey: googlePlacesKey, place_ID: place_id)
let task = session.dataTask(with: url) { (responseData, _, error) in
if let error = error {
print(error.localizedDescription)
return
}
guard let data = responseData, let detailsResponse = try? JSONDecoder().decode(GooglePlacesDetailsResponse.self, from: data) else {
print("Could not decode JSON response. responseData was: ", responseData)
return
}
print("GPD response - detailsResponse.result: ", detailsResponse.result)
completionHandler(detailsResponse)
}
task.resume()
}
Кто-нибудь знает, как сделать запрос фотографии в Google Place с помощью photo_reference в Swift и отобразить возвращенную фотографию?