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.