Dev (Back & Front)ARTIGO

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

O autor apresenta neste artigo, um passo a passo ensinando a utilizar o Geocoder para retornar posições de GPS com a linguagem PHP.

Utilizando o geocoder para retornar posições de GPS com PHP
Imagem: Rodrigo "pokemaobr" Cardoso

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.

MBA em Engenharia de Softwares Orientado para Serviços pela Metrocamp, Campinas/SP. Bacharel em Matemática Aplicada e Computacional pela Universidade Federal Rural do Rio de Janeiro, Community Manager do iMasters. Programador PHP desde 2002. Evangelista PHPSP. Desenvolve sistemas desde batalhas Pokemon em mIRC, a robôs automatizadores de tarefas.

Ver perfil