Das Places SDK for iOS unterstützt das vorhandene Foto des Orts. Wenn Sie das vorhandene Ortsfoto bereits kennen, sind die folgenden Änderungen bei der neuen Version des Ortsfotos zu beachten:
Es wird ein neues Preismodell verwendet. Preisinformationen zu allen APIs finden Sie unter Preise für das Places SDK for iOS (neu).
Die bisherige Funktion „Place Photo“ unterstützte eine maximale Fotogröße von 1.600 × 1.600 Pixeln. „Ortsfoto (neu)“ unterstützt Größen bis zu 4.800 × 4.800 Pixel.
Rufen Sie zum Senden einer Anfrage die neue Methode
GMSPlacesClient fetchPhotoWithRequest:callback:
auf.An die Anfrage weitergeben:
Eine Instanz der neuen Klasse
GMSFetchPhotoRequest
, die alle Anfrageparameter definiert, einschließlich der maximalen Bildgröße.Ein Callback vom Typ
GMSPlacePhotoMetadataResultCallback
, um die Antwort zu verarbeiten.
Jedes Foto wird durch eine
GMSPlacePhotoMetadata
-Instanz dargestellt. Beim Places SDK for iOS (neu) enthält dieGMSPlacePhotoMetadata
-Instanz ein neues FeldauthorAttribution
, das durch die neue KlasseGMSPlaceAuthorAttribution
dargestellt wird.Wenn die zurückgegebene
GMSPlacePhotoMetadata
-Instanzattributions
oderauthorAttribution
enthält, müssen Sie diese Zuordnungen in Ihre Anwendung einbinden, wo immer das Bild zu sehen ist. Weitere Informationen finden Sie in der Dokumentation zu Attributionen.
Beispielanfrage
In der folgenden Beispielmethode wird eine Orts-ID übergeben, um das erste Foto in der zurückgegebenen Liste abzurufen. Sie können diese Methode als Vorlage für die Methode verwenden, die Sie in Ihrer eigenen App erstellen.
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Request list of photos for a place placesClient.lookUpPhotos(forPlaceID: placeID) { (photos, error) in guard let photoMetadata: GMSPlacePhotoMetadata = photos?.results[0] else { return } // Request individual photos in the response list let fetchPhotoRequest = GMSFetchPhotoRequest(photoMetadata: photoMetadata, maxSize: CGSizeMake(4800, 4800)) self.client.fetchPhoto(with: fetchPhotoRequest, callback: { (photoImage: UIImage?, error: Error?) in guard let photoImage, error == nil else { print("Handle photo error: ") return } print("Display photo Image: ") } ) }
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; [placesClient lookUpPhotosForPlaceID:placeID callback: ^(GMSPlacePhotoMetadataList *list, NSError *error) { GMSPlacePhotoMetadata *photoMetadata = [list results][0]; // Request individual photos in the response list GMSFetchPhotoRequest *fetchPhotoRequest = [[GMSFetchPhotoRequest alloc] initWithPhotoMetadata:photoMetadata maxSize:CGSizeMake(4800, 4800)]; [placesClient fetchPhotoWithRequest:fetchPhotoRequest callback: ^(UIImage *_Nullable photoImage, NSError *_Nullable error) { if (error == nil) { // Display photo } }]; }];