Índice
Para criar um aplicativo baseado em localização com dados do Google Maps, coletar os registros comerciais, normalizá-los de acordo com seu próprio esquema e armazená-los em um banco de dados como o Supabase/PostgreSQL.
Para Dados do Google Maps para desenvolvimento de aplicativos, coletar os registros é apenas o primeiro passo. O aplicativo ainda precisa de campos que possa identificar, atualizar, consultar, mapear e conectar aos seus próprios dados.
Neste exemplo, um pequeno trecho de JSON do Outscraper’s Catálogo de Negócios é normalizado com TypeScript e importado para o Supabase/PostgreSQL para um MVP baseado em localização chamado Nomad PH.
A amostra inclui três empresas em General Luna, Siargao. Seu objetivo é testar o fluxo de trabalho de importação de dados, e não representar uma cobertura completa das empresas em Siargao ou nas Filipinas.
A principal tarefa é transformar o JSON Outscraper em registros prontos para uso no aplicativo, capazes de dar suporte a listagens, páginas de detalhes, mapas e, posteriormente, recursos espaciais.
Resposta rápida: Como usar os dados do Google Maps em um aplicativo baseado em localização
- Reúna registros comerciais com Outscraper.
- Exporte os dados como JSON.
- Normalize os campos com TypeScript.
- Mapeie os registros ao esquema do seu aplicativo.
- Insira-os ou atualize-os em Supabase/PostgreSQL.
- Use-os em listagens, páginas e mapas.
Use o Catálogo de Negócios do Outscraper para começar com registros comerciais prontos antes de criar seu fluxo de trabalho de ingestão.
Quais dados do Google Maps um aplicativo baseado em localização precisa?
Um aplicativo de localização não precisa de todos os campos disponíveis em um registro de origem. Ele precisa dos campos que ajudam o aplicativo a identificar um local, exibir informações úteis e associar esse local a outros recursos.
Para o Nomad PH MVP, os registros do Outscraper forneceram os dados básicos de negócios e localização. Em seguida, o aplicativo armazenou os campos selecionados em seu próprio lugares tabela
Campos essenciais de identidade do local
O primeiro grupo de campos responde a uma pergunta básica: Que lugar é esse?
Para essa implementação, os principais campos de identificação e localização foram:
nameplace_idlatitudelongitudeendereçobusiness_status
As name e endereço ajudam os usuários a identificar a empresa, enquanto a latitude e a longitude fornecem à aplicação uma localização geográfica.
O importador também mantém place_id como identificador externo usado para “upserts” neste MVP. Se o mesmo local aparecer em uma importação posterior, o aplicativo poderá atualizar o registro existente em vez de criar outro.
Isso não significa que place_id deve ser tratado como um identificador permanente para todos os possíveis fluxos de trabalho de dados. Trata-se simplesmente do identificador de origem escolhido para esta implementação.
Campos de descoberta e listagem
Uma página de local geralmente precisa de mais do que apenas identificação e coordenadas. Os usuários também precisam de informações suficientes para decidir se querem conhecer ou visitar o estabelecimento.
O MVP armazena campos como:
- rating
- número de avaliações
- site
- phone
- tipo de negócio
- URL do Google Maps
Esses campos podem ser utilizados para listas de destinos, cartões de identificação, páginas de detalhes e filtros dentro do aplicativo.
As categorias de origem também precisam de algum controle. Em vez de copiar cada subtipo bruto diretamente para o aplicativo, o Nomad PH os mapeia para um conjunto menor de tipos de locais:
- café
- coworking
- moradia compartilhada
- hotel
- albergue
- restaurante
- outro
Uma lista controlada mantém as categorias do aplicativo previsíveis, mesmo quando os dados de origem contêm vários subtipos de negócios.
Mantenha os dados de origem separados dos dados específicos do aplicativo
O registro comercial importado é apenas uma camada do aplicativo.
O Outscraper fornece os campos de origem relativos à empresa e ao local utilizados neste MVP, tais como identificação do local, coordenadas, avaliações, detalhes de contato e status da empresa.
O Nomad PH mantém separados os dados de seus próprios aplicativos e da comunidade, incluindo:
- Relatórios de velocidade do Wi-Fi
- velocidade de envio
- ping
- observações sobre o gerador
- observações sobre a queda de energia
- avaliações dos usuários
- regras de verificação
Essa separação é importante porque o registro de origem e os dados do próprio aplicativo têm funções diferentes.
As Outscraper O registro identifica e descreve o local. O Nomad PH pode, então, adicionar seus próprios dados sobre esse mesmo local, sem considerar as informações geradas pela comunidade como parte do registro comercial original do Google Maps.
Colete os dados de origem com o Outscraper Business Catalog
O primeiro passo é reunir os documentos comerciais necessários para o seu pedido.
Para o Nomad PH MVP, usei os Outscraper’s Catálogo de Negócios para criar uma pequena amostra de empresas em General Luna, Siargao. Três registros foram suficientes para testar o fluxo de importação de JSON para o banco de dados do aplicativo.
Para obter um guia completo sobre como filtrar e exportar registros, consulte o Guia do Catálogo de Negócios Outscraper.
Defina o local e o tipo de negócio
Comece pela localização e pela categoria de que seu aplicativo precisa.
Para este MVP:
- Localização: General Luna, Siargao.
- Tipo de negócio: cafés
- Fonte: Catálogo de Produtos da Outscraper
- Resultado: Registros comerciais em JSON
Manter a amostra pequena facilitou a análise dos campos de origem antes de criar o importador.
Para uma coleta mais abrangente de dados do Google Maps, o sistema existente da Outscraper Guias do Google Maps Scraper abordar o processo de cobrança com mais detalhes.
Exportar os registros como JSON
Para este MVP, utilizei uma pequena amostra do Outscraper’s Catálogo de Negócios em vez de executar uma nova tarefa de extração do Google Maps. O uso de registros comerciais já prontos me permitiu testar o fluxo de trabalho de ingestão imediatamente, sem precisar esperar que uma nova tarefa de extração fosse concluída.
Esse mesmo fluxo de trabalho também pode começar com um arquivo JSON exportado do Outscraper’s Coletor do Google Maps. Em ambos os casos, o importante são os dados comerciais estruturados que são inseridos no aplicativo.
O JSON se encaixou bem no fluxo de trabalho de ingestão porque era fácil:
- verificar no VS Code
- analisar com TypeScript
- preservar campos de origem aninhados
- passar para um script de normalização
- armazenar o registro original para consulta futura
O arquivo JSON passou então a ser a fonte de entrada para as etapas de normalização e importação no Supabase.

Use o Catálogo de Empresas do Outscraper ou o Google Maps Scraper para coletar os registros de empresas e locais de que seu aplicativo precisa e, em seguida, exporte-os para o seu fluxo de trabalho de ingestão.
Transforme JSON Outscraper em registros prontos para uso em aplicativos
O JSON bruto é útil como fonte, mas um aplicativo geralmente precisa de um esquema menor e mais previsível.
No caso do Nomad PH MVP, o importador lê o JSON Outscraper, seleciona os campos de que o aplicativo precisa e os converte para o lugares tabela, e mantém o registro original como referência.
Normalize os campos de que o aplicativo realmente precisa
O importador mapeia os campos de origem para o modelo da aplicação, em vez de armazenar cada campo diretamente.
Para essa compilação, isso inclui valores como:
- nome da empresa
- ID do local
- endereço
- latitude
- longitude
- rating
- número de avaliações
- situação da empresa
- site
- phone
- URL do Google Maps
- tipo de local
Isso facilita a consulta e o uso dos registros dentro do aplicativo.
Os nomes exatos dos campos de origem devem ser verificados em relação ao JSON real do Outscraper antes da publicação de qualquer exemplo de código.
Mapeie as categorias de origem para a taxonomia do seu próprio aplicativo
As categorias de negócios de origem podem ser mais detalhadas do que o necessário para a aplicação.
O Nomad PH utiliza uma lista interna menor:
cafécoworkingmoradia compartilhadahotelalberguerestauranteoutro
Isso mantém a lógica de filtragem e de paginação previsível.
Por exemplo, vários subtipos de fonte relacionados a cafés ainda podem ser mapeados para o mesmo interno café tipo. O aplicativo controla a categoria final, em vez de depender de cada subtipo bruto retornado pela fonte.
Gerar slugs legíveis
Cada local importado também precisa de um slug de URL legível.
Por exemplo:
Espaço na cobertura do Gaya
passa a ser:
espaço-na-cobertura-de-Gaya
O slug é gerado durante a normalização, de modo que o registro fica pronto para ser exibido em rotas como a página de detalhes de um local.
Preservar a carga útil original da fonte
O importador mantém dois campos relacionados à origem:
fonte = "outscraper"source_payload = registro JSON original
É útil manter a carga útil bruta, pois o registro normalizado não inclui todos os campos de origem.
Isso fornece ao aplicativo um ponto de referência para:
- verificação de transformações
- resolução de problemas de importação
- remapeamento de campos posteriormente
- revisão dos valores de origem que não foram adicionados ao esquema principal
Isso mantém o esquema do aplicativo organizado, sem descartar o registro original.
Use a API do Google Maps da Outscraper para enviar dados comerciais para seu próprio aplicativo ou fluxo de trabalho de back-end sem precisar recorrer a exportações manuais.
Importar os dados do Google Maps para o Supabase
Depois que os registros Outscraper forem normalizados, a próxima etapa é armazená-los no banco de dados do aplicativo.
No caso do Nomad PH, o importador envia os registros normalizados para um Supabase lugares tabela baseada no PostgreSQL.
O Supabase oferece um banco de dados Postgres que pode ser gerenciado por meio de seu painel de controle ou acessado programaticamente.
Mapeie os dados normalizados para a tabela “places”
A tabela contém os campos de que o aplicativo precisa para listagens, rotas, filtragem e recursos de mapa que serão implementados posteriormente.
Entre os campos importantes estão:
iddestination_idid_do_bairronameslugtipo_de_localendereçolatitudelongitudeplace_idgoogle_ratinggoogle_reviews_countbusiness_statussitephonegoogle_maps_urlfontecarga_de_origemis_published
O objeto normalizado é mapeado para essa estrutura antes que a gravação no banco de dados ocorra.
Isso mantém a consistência do modelo do banco de dados, mesmo que o JSON de origem contenha mais campos do que o aplicativo utiliza atualmente.
Upsert em vez de inserir cegamente
O importador utiliza um upsert, que atualiza um registro existente quando o mesmo place_id é encontrado ou insere um novo registro caso não seja encontrado.
O importador utiliza place_id como identificador externo para esta implementação.
A lógica é simples:
- se o
place_idjá existe, atualize o registro existente - se não existir, insira um novo registro
Isso ajuda a evitar a criação de registros duplicados de locais quando a mesma empresa é importada novamente.
Para este MVP, place_id foi o identificador de origem escolhido para a lógica de upsert. Ele não deve ser considerado uma regra universal para todas as aplicações.
Importar registros em lotes
O importador processa os registros em lotes de 200.
Esse tamanho de lote foi uma escolha de desenvolvimento para este projeto, e não um requisito do Outscraper.
O mesmo importador pode trabalhar com lotes menores ou maiores, dependendo da aplicação, dos limites do banco de dados e do tamanho do trabalho.
Os registros importados também são marcados inicialmente como não publicados, para que possam ser revisados antes de aparecerem no aplicativo.
Isso proporciona ao aplicativo mais um ponto de controle entre os dados de origem e o conteúdo público.
Use os registros importados em seu aplicativo baseado em localização
Assim que os registros estiverem no Supabase, o aplicativo poderá utilizá-los como qualquer outro conteúdo de banco de dados estruturado.
No Nomad PH, os locais importados permitem a exibição de listas de destinos, páginas individuais de locais e navegação baseada em mapas, sem a necessidade de ler diretamente do arquivo JSON original.
Gerar cartões de lugar e páginas de detalhes
Um registro de local de armazenamento pode alimentar diferentes partes da interface.
Por exemplo:
Supabase: inserir registro
→ lista de destinos
→ cartão de lugar
→ página de detalhes do local
Next.js utilizações roteamento baseado em arquivos, o que facilita a criação de uma rota separada para cada registro de local armazenado.
Áreas como name, slug, tipo_de_local, endereço, a classificação, o site e o número de telefone podem ser exibidos onde forem úteis.
Como os dados já foram normalizados, o front-end não precisa compreender a resposta Outscraper completa toda vez que renderiza um local.

Use coordenadas para mapas e elementos espaciais
Os registros importados também mantêm latitude e longitude.
Essas coordenadas podem servir de base, posteriormente, para:
- marcadores de mapa
- navegação geográfica
- Pontos geográficos do PostGIS
- buscas por locais próximos
Nesta versão MVP, as coordenadas são armazenadas antecipadamente para que os registros estejam prontos para trabalhos espaciais e de mapeamento posteriores.
A lógica completa de busca por proximidade do PostGIS está fora do escopo deste artigo.
Para uma visão mais ampla sobre como os fluxos de trabalho de aplicativos podem obter dados do Google Maps, consulte API do Google Maps x web scraping.
Adicione dados específicos do aplicativo acima
O registro Outscraper fornece a camada de negócios e de localização.
A Nomad PH pode, então, adicionar seus próprios dados sobre o mesmo local, como, por exemplo:
- Relatórios de velocidade do Wi-Fi
- velocidade de envio
- ping
- observações sobre o gerador
- observações sobre a queda de energia
- avaliações dos usuários
- lógica de verificação
Isso mantém os dados de origem separados das informações criadas dentro do aplicativo.
O resultado é um modelo de dados simples:
Lista de verificação final: como criar um aplicativo baseado em localização com dados do Google Maps
- Reúna os registros comerciais com Outscraper.
- Exporte e normalize os campos JSON de que seu aplicativo precisa.
- Mapeie os registros para o esquema do seu próprio banco de dados.
- Inserir ou atualizar os registros no Supabase/PostgreSQL.
- Utilize os dados armazenados para listagens, páginas de detalhes, mapas e, posteriormente, recursos espaciais.
Use o Outscraper para coletar registros comerciais estruturados, normalizá-los de acordo com seu próprio esquema e armazená-los no Supabase para listagens, mapas e outros recursos do aplicativo.
Perguntas frequentes
Perguntas e respostas mais frequentes
Sim, mas mapear os campos de origem para o seu próprio esquema permite que você tenha um controle melhor sobre as categorias, as atualizações e a estrutura do banco de dados.
O Supabase armazena os registros normalizados de locais no PostgreSQL e os disponibiliza para o aplicativo Next.js.
Sim. As coordenadas de latitude e longitude armazenadas podem ser utilizadas para marcar pontos no mapa e, posteriormente, facilitar pesquisas de locais próximos no PostGIS.
Sim. Manter o JSON original em carga_de_origem ajuda na depuração, na verificação de transformações e na adição de campos posteriormente.
Uma operação “upsert” atualiza um registro, caso ele já exista, ou insere um novo, caso ele não exista. Neste MVP, place_id é usado para decidir se um local deve ser u