O SDK do Places para iOS oferece suporte aos Detalhes do lugar. Se você já conhece o SDK do Places para iOS, a nova versão dos detalhes do lugar faz as seguintes mudanças:
Usa um novo modelo de preços. Para informações de preços de todas as APIs, consulte Preços do SDK do Places para iOS (novo).
O mascaramento de campo é obrigatório. É necessário especificar quais campos você quer que sejam retornados na resposta. Não há uma lista padrão de campos retornados. Se você omitir essa lista, os métodos vão retornar um erro.
Para fazer uma solicitação, chame o novo método
GMSPlacesClient fetchPlaceWithRequest:
.Transmita para a solicitação:
Uma instância da nova classe
GMSFetchPlaceRequest
que define todos os parâmetros de solicitação, como o ID do lugar e o token de sessão.Um callback do tipo
GMSPlaceResultCallback
para processar a resposta.
A resposta contém uma instância de
GMSPlace
com detalhes sobre o lugar. Os valores na propriedadetypes
da instânciaGMSPlace
agora são definidos pela Tabela A e Tabela B.A instância
GMSPlace
da resposta contém a nova propriedadereviews
do tipoGMSPlaceReview
. Quando o app mostra informações obtidas da instânciaGMSPlace
, como fotos e avaliações, ele também precisa mostrar as atribuições necessárias.Para mais informações, consulte a documentação sobre atribuições.
A instância
GMSPlace
da resposta contém as seguintes funções de membro:isOpen
calcula se um lugar está aberto no horário especificado.isOpenAtDate
calcula se um lugar está aberto em uma determinada data.
Essas funções só estão disponíveis quando você ativa o SDK do Places para iOS. Elas não estão disponíveis quando você ativa o SDK do Places para iOS (novo). Para mais informações, consulte Escolher a versão do SDK.
Exemplo de solicitação
Com o Place Details (New), você faz uma solicitação e transmite todos os parâmetros na instância GMSFetchPlaceRequest
. Esse exemplo também usa uma máscara de campo para que a resposta inclua apenas o nome de exibição e o URL do site do local:
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let fields = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue} // Create the GMSFetchPlaceRequest instance. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields, sessionToken: nil) client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in guard let place, error == nil else { return } print("Place found: \(String(describing: place.name))") })
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. NSArray<NSString *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite]; // Create the GMSFetchPlaceRequest instance. GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields sessionToken:nil]; [placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { NSLog(@"Place Found: %@", place.name); NSLog(@"The place URL: %@", place.website); } }];