Fala pessoal, hoje eu vou falar sobre uma funcionalidade que sempre tive interesse em desenvolver mas nunca parei para estudar sobre: Google Maps + PHP.
Vamos fazer um código que usa as APIs do Google Maps para buscar a latitude e longitude de um endereço qualquer, por exemplo: “Av. Brasil, 3014 – Rio de Janeiro, RJ“.
É necessário saber a latitude e longitude de um endereço para exibir um mapinha do Google Maps no seu site… O que será ensinado na parte 2 desse artigo.
Começando pelo começo
Antes de mais nada você, meu amigo desenvolvedor, precisa de uma Google Maps API Key (GMAK) que é um código que te permite usar as APIs do Google Maps e te identifica perante ao Google. Para criar a sua GMAK é só entrar nesse endereço e preencher o formulário.
Tendo sua GMAK em mãos, vamos ver a classe que usaremos para esse e os próximos tutoriais:
/**
* gMaps Class
*
* Pega as informações de latitude, longitude e zoom de um endereço usando a API do Google Maps
*
* @author Thiago Belem <contato@thiagobelem.net>
*/
class gMaps {
// Host do GoogleMaps
private $mapsHost = 'maps.google.com';
// Sua Google Maps API Key
public $mapsKey = '';
function __construct($key = null) {
if (!is_null($key)) {
$this->mapsKey = $key;
}
}
function carregaUrl($url) {
if (function_exists('curl_init')) {
$cURL = curl_init($url);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true);
$resultado = curl_exec($cURL);
curl_close($cURL);
} else {
$resultado = file_get_contents($url);
}
if (!$resultado) {
return false;
//trigger_error('Não foi possível carregar o endereço: <strong>' . $url . '</strong>');
} else {
return $resultado;
}
}
function geoLocal($endereco) {
$url = 'http://'. $this->mapsHost .'/maps/geo?output=csv&key='. $this->mapsKey .'&q='. urlencode($endereco);
$dados = $this->carregaUrl($url);
list($status, $zoom, $latitude, $longitude) = explode(',', $dados);
if ($status != 200) {
return false;
//trigger_error('Não foi possível carregar o endereço <strong>"'.$endereco.'"</strong>, código de resposta: ' . $status);
}
return array('lat' => $latitude, 'lon' => $longitude, 'zoom' => $zoom, 'endereco' => $endereco);
}
}O uso dela é ridiculamente simples:
<?php
// Instancia a classe
$gmaps = new gMaps('SUA GMAK AQUI');
// Pega os dados (latitude, longitude e zoom) do endereço:
$endereco = 'Av. Brasil, 1453, Rio de Janeiro, RJ';
$dados = $gmaps->geolocal($endereco);
// Exibe os dados encontrados:
print_r($dados);
?>Com isso já temos todas as informações necessárias para exibir um mapinha do GoogleMaps com o endereço marcado, o que faremos no próximo tutorial. ![]()
Parte 2: Exibindo mapas no seu site – Google Maps + PHP – Parte 2
Um grande abraço a todos!
Você também vai gostar de ler:
- Exibindo mapas no seu site – Google Maps + PHP – Parte 2
- Resultados de busca do Google no seu site
- Tutorial básico de cURL – Instalação, configuração e uso
- Pegando dados do Google Analytics via PHP
- Mostrando a Previsão do Tempo com PHP
Postado em Artigos, PHP, Tutoriais
Com as tags API, Artigo, Artigos, Brasil, Busca, Classe, Código, cURL, Desenvolvedor, File, Formulário, Funcionalidade, GMAK, Google, Google Maps, Google Maps API, HTML, PHP, POO, Rio de Janeiro, Scripts, Tutoriais, Tutorial, URL
Escrito por Thiago Belem
Gostou desse artigo?
Não se esqueça de assinar o RSS e divulgue-o para o mundo:
