Migrar para o Place Details (novo)

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 propriedade types da instância GMSPlace agora são definidos pela Tabela A e pela Tabela B.

  • A instância de resposta GMSPlace contém a nova propriedade reviews do tipo GMSPlaceReview. Quando o app exibe informações da instância GMSPlace, 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);
  }
}];