Back-End

6 jul, 2018

Utilizando o geocoder para retornar posições de GPS com PHP

Publicidade

Fala, pessoal! Tudo bom?

No nosso último artigo falamos de uma biblioteca bem legal da Spatie para transformar arrays em XML. E hoje, continuaremos com as séries de artigos sobre as bibliotecas que estão no GitHub deles.

Uma questão muito importante para pessoas que trabalham com aplicações, onde há a necessidade do trabalho com geolocalização, é a captura dos dados de latitude e longitude, além de demais dados de GPS.

Hoje falaremos sobre a biblioteca geocoder, onde, passando um endereço, através da Geocoding API do Google, (você precisará de uma chave da API do Geocode do Google para poder utilizar a biblioteca), ela te passa todas as coordenadas de GPS daquele endereço. Vamos ao código?

Crie uma pasta geocoder e baixe a biblioteca:

composer require spatie/geocoder

Depois de baixar é bem tranquilo utilizar. Como exemplo, vamos criar o arquivo geocoder.php com o código abaixo:

<?php

require_once 'vendor/autoload.php'; //inserindo o autoload do composer

use Spatie\Geocoder\Geocoder; //iniciando a classe Geocoder

$apiKey = 'SUA_API_CODE_AQUI'; //aqui você colocará a sua apiKey do serviço do Google Geocoding
$client = new GuzzleHttp\Client(); //instanciando um client do GuzzleHttp
$geocoder = new Geocoder($client); //instanciando um novo Geocoder

$geocodes = $geocoder->getCoordinatesForAddress('Rua Oscar Freire 2379, São Paulo', $apiKey); //realizando a consulta de endereço através do Geocoder.

print_r($geocodes); //

Então, realizando um php geocoder.php, temos como retorno:

E, caso coloquemos a latitude e longitude retornadas no Google Maps, teremos:

Ou seja, aparece corretamente o endereço do iMasters Developer Hub, que foi o endereço que colocamos na pesquisa.

Espero que esse artigo te ajude no trabalho de gerar as coordenadas de suas pesquisas.