O SDK do Places para iOS é compatível com o Place Details. Se você já conhece o SDK do Places para iOS, a nova versão do Place Details faz as seguintes mudanças:
Usa um novo modelo de preços. Para informações sobre preços de todas as APIs, consulte Preços do SDK do Places para iOS (novo).
O mascaramento de campo é obrigatório. Especifique quais campos quer retornar na resposta. Não há uma lista padrão de campos retornados. Se você omitir essa lista, os métodos retornarão um erro.
Para fazer uma solicitação, chame o novo método
GMSPlacesClient fetchPlaceWithRequest:
.Passe 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
GMSPlace
com detalhes sobre o lugar. Os valores na propriedadetypes
da instânciaGMSPlace
agora são definidos pela Tabela A e pela Tabela B.A instância de resposta
GMSPlace
contém a nova propriedadereviews
do tipoGMSPlaceReview
. Quando o app exibe informações 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 de resposta
GMSPlace
contém as seguintes funções de membro:isOpen
calcula se um lugar está aberto no horário determinado.isOpenAtDate
calcula se um lugar abre em uma determinada data.
Essas funções só ficam disponíveis quando você ativa o SDK do Places para iOS. Eles 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 (novo), 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:
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let fields: [GMSPlaceProperty] = [.name, .website] // Create the GMSFetchPlaceRequest instance. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields) client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in guard let place, error == nil else { return } print("Place found: \(place.name)") })
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. NSArray<GMSPlaceProperty *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite]; // Create the GMSFetchPlaceRequest instance. GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields]; [placesClient fetchPlaceWithRequest: fetchPlaceRequest, callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) { if (error == null) { NSLog(@"Place Found: %@", place.name); } }];