Geolocalização de Endereços com a API Geocoder-PHP

porLuis Augusto Moretto

Geolocalização de Endereços com a API Geocoder-PHP

Como localizar as coordenadas de um ponto no mapa dado o endereço?

Geolocalização com PHP
Geolocalização de um Endereço

Introdução

A geolocalização consiste em determinar as coordenadas de um determinado ponto no Globo.

É um conceito relativamente novo, criado em 2009, e se tornou uma grande tendência com a popularização dos dispositivos móveis.

Este processo pode ser implementado por diversos mecanismos tecnológicos. Entre elas, uma das formas convencionais de Geolocalização de uma coordenada no globo é através do IP.

As aplicações e uso do recurso são diversas. Podemos citar: GMaps, Waze, Twitter etc.

A API php-geocoder é agnóstica quanto ao provedor do serviço. Isto significa que você pode escolher o serviço  de geolocation mais apropriado para seus requisitos.

provedores de geolocalização

Os provedores executam a magia negra  da geolocalização para você (falando com as APIs, buscando resultados, tratando erros, etc.) e são altamente configuráveis.

Entre os provedores ou serviços podemos destacar:

implementação

Primeiro passo para implementção é instalar as LIBS necessárias utilizando o Composer. Por exemplo se você escolher o Google Maps como provedor:

composer require geocoder-php/google-maps-provider

Após adicionar as bibliotecas necessárias, crie uma classe para definir os métódos  responsáveis pelo comportamento.

Geolocalização GMAPS php example
Classe GeocoderController para manipular a geolocalização.

Nesta classe é método geocodeQuery  recebe um endereço como parâmetro. O Endereço deve estar no seguinte formato:

Rua General Bittencourt, 397, 
Centro, Florianópolis, Brasil.

Quanto mais completo o endereço, maior a precisão das coordenadas. Além disso o método retorna um VO (Value Object) com os seguintes atributos:

  • formated_address: Endereço formatado
  • lat: latitude da coordenada
  • lng: longitude da coordenada
  • cep: cep identificado da coordenada

Dicas

  • Verifique o limite de requisições da API escolhida;
  • A API do Google limita em 2.500 solicitações gratuitas por dia, calculadas como a soma das consultas; ou  50 solicitações por segundo;
  • Faça o Cache das requisições para evitar o faturamento de requisições similares;

Happy Coding! 😀