Pronto!

Para começar a desenvolver, acesse nossa documentação do desenvolvedor.

Ativar a API do Google Places para Android

Para começar, orientaremos você pelo Console de Desenvolvedores do Google para realizar algumas atividades:

  1. Criar ou selecionar um projeto
  2. Ativar a Google Places API for Android
  3. Criar chaves apropriadas
Continuar

Place Add

Você pode usar a Google Places API for Android para adicionar um local no banco de dados do Places do Google. O local recém-adicionado fica disponível em seu aplicativo por pouco tempo e é adicionado a uma fila de moderação para possível adição ao banco de dados do Places do Google e no Google Maps.

  1. Adicionar um local
  2. Processar vários IDs de local e escopo de ID de local

Adicionar um local

Para adicionar um local, chame GeoDataApi.addPlace(), passando um objeto AddPlaceRequest que especifica os detalhes do local que deseja adicionar.

Inclua as seguintes informações ao criar o AddPlaceRequest:

  • Obrigatório: o name completo textual da empresa, do ponto de interesse ou de outro local. Limitado a 255 caracteres.
  • Obrigatório: um objeto LatLng especificando a localização do local.
  • Obrigatório: o address do lugar legível. Se um local tiver um endereço bem formatado e legível, a chance de ele ser aprovado no processo de moderação para inclusão no banco de dados do Google Places será maior.
  • Obrigatório: uma lista de tipos de local que caracterizem esse local. Para ver uma lista de tipos de local disponíveis, consulte a documentação de tipos de locais e as constantes definidas na interface do Place.
  • Opcional: o phoneNumber do local. Esse é o número do telefone em formato internacional. O formato internacional inclui o código do país e é prefixado pelo sinal de mais (+). Por exemplo, o número de telefone internacional do escritório do Google em Mountain View, EUA, é +1 650-253-0000. Se um local tiver um número de telefone formatado corretamente, a chance de ele ser aprovado no processo de moderação para inclusão no banco de dados do Google Places será maior. Observação: você deve inserir o phoneNumber, o Uri ou ambos.
  • Opcional: um objeto Uri contendo o endereço do site de autoridade desse local, como a página inicial de uma empresa. Se um local tiver um endereço de site formatado corretamente, a probabilidade de ele ser aprovado no processo de moderação para inclusão no banco de dados do Google Places será maior. Observação: você deve inserir o phoneNumber, o Uri ou ambos.

A API retorna um PlaceBuffer em um PendingResult. O PlaceBuffer contém o local adicionado.

O objeto Place resultante tem um ID de local exclusivo, que o aplicativo pode usar daquele ponto em diante para recuperar detalhes do local. Locais adicionados também são disponibilizados por algum tempo nos resultados das solicitações get-current-place iniciadas pelo aplicativo e em um seletor de local exibido pelo aplicativo. A delimitação é determinada pelo ID de projeto usado para gerar a sua chave de API.

Locais recém-adicionados entram em uma fila de moderação para serem considerados para adição no banco de dados do Google Places. Locais que não são aceitos pelo processo de moderação continuarão a ser recuperáveis com o ID de local no aplicativo que os enviou, mas não aparecerão mais nos resultados de solicitações get-current-place, no seletor da API ou em outro método dela. Locais aprovados pela moderação estarão visíveis em todos os aplicativos e no Google Maps.

Para que seja mais provável que o local seja aprovado pelo processo de moderação e adicionado ao banco de dados do Google Places, a solicitação de adição deve incluir o máximo de informação possível. O endereço, o número do telefone e o site são particularmente importantes.

O exemplo de código a seguir adiciona um santuário de vida selvagem perto de Manly, na costa leste da Austrália.

AddPlaceRequest place =
    new AddPlaceRequest(
        "Manly Sea Life Sanctuary", // Name
        new LatLng(-33.7991, 151.2813), // Latitude and longitude
        "W Esplanade, Manly NSW 2095", // Address
        Collections.singletonList(Place.TYPE_AQUARIUM), // Place types
        "+61 1800 199 742", // Phone number
        Uri.parse("http://www.manlysealifesanctuary.com.au/") // Website
    );

Places.GeoDataApi.addPlace(mGoogleApiClient, place)
    .setResultCallback(new ResultCallback<PlaceBuffer>() {
        @Override
        public void onResult(PlaceBuffer places) {
            Log.i(TAG, "Place add result: " + places.getStatus().toString());
            Log.i(TAG, "Added place: " + places.get(0).getName().toString());
            places.release();
        }
    });

Processar vários IDs de local e escopo de ID de local

Cada ID de local só pode referenciar um local, mas um único local pode ter mais de um ID de local. O caso mais comum de gerenciamento de diversos IDs para um mesmo local é ao adicionar um local inicialmente limitado ao seu aplicativo, que depois recebe uma abrangência do nível do Google.

Quando você adiciona um local, recebe imediatamente um ID de local para o novo local. O ID do local tem escopo apenas em seu aplicativo. Em seguida, o local entra em uma fila de moderação, aguardando aprovação para adição no banco de dados do Google Places. Se aprovado, o local receberá um novo ID de local, disponível para todos os aplicativos e no Google Maps.

Ao solicitar um local especificando um local de ID, você tem a certeza de que sempre receberá o mesmo local na resposta (se o local ainda existir).

Observe, no entanto, que a resposta poderá conter um ID de local diferente daquele em sua solicitação. Para obter mais informações, consulte a visão geral de IDs de local.

Enviar comentários sobre…

location_on
Google Places API for Android