Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Capturando Longiture e Latitude com o Google maps


Regis~
 Compartilhar

Posts Recomendados

Olá Pessoal,

 

Hoje foi explicar pra vocês como recuperar a latitude e longitude de um endereço qualquer utilizando o Google Maps Api.

 

O código é bastante simples de ser utilizado e você precisará apenas de uma API KEY do Google Maps para poder utiliza-lo, mas que pode ser gerada gratuitamente e exclusivamente para seu site neste endereço:

É necessário se cadastrar para acessar o conteúdo.

 

O Google facilitou bastante para nós, permitindo que seja gerado um conteúdo no formato XML ou JSON (padrão) e que possa ser lido facilmente por qualquer linguagem de programação. No nosso caso, vamos utilizar o PHP.

 

O seguinte código simplesmente invoca uma URL específica do Google Maps para retornar os dados completos de um determinado endereço passado na URL. Veja:

 

<?

 

 

 

$tipo_output = "xml"; // pode ser utilizado o json também

 

 

 

// a sua API KEY do Google Maps gerado com o link acima

 

$google_api = "MAPS_API_KEY";

 

 

 

// o endereço que desejamos que o google procure

 

// lembrando que o endereço tem que ser no padrão de uma requisição URL e caso possua acentuação, vamos executar um utf8_encode

 

$endereco_desejado = urlencode(utf8_encode("João Pessoa, PB"));

 

 

 

// Desired address

 

$endereco_final = "

É necessário se cadastrar para acessar o conteúdo.
$endereco_desejado ."&output=". $tipo_output ."&key=$google_api";

 

 

 

// conteudo da página

 

echo file_get_contents($endereco_final);

 

 

 

?>

 

O resultado deste script é o seguinte:

 

<?xml version="1.0" encoding="UTF-8" ?>

 

<kml xmlns="

É necessário se cadastrar para acessar o conteúdo.

 

<name>João Pessoa, PB</name>

 

<Status>

 

<code>200</code>

 

<request>geocode</request>

 

</Status>

 

<Placemark id="p1">

 

<address>João Pessoa - Paraíba, Brazil</address>

 

<AddressDetails Accuracy="4" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>BR</CountryNameCode><CountryName>Brasil</CountryName><AdministrativeArea><AdministrativeAreaName>PB</AdministrativeAreaName><Locality><LocalityName>João Pessoa</LocalityName></Locality></AdministrativeArea></Country></AddressDetails>

 

<ExtendedData>

 

<LatLonBox north="-7.0267350" south="-7.2038879" east="-34.7329918" west="-34.9891106" />

 

</ExtendedData>

 

<Point><coordinates>-34.8610512,-7.1153200,0</coordinates></Point>

 

</Placemark>

 

</Response></kml>

 

Agora, podemos melhorar nosso script convertendo o resultado em um objeto XML que possa ser lido facilmente pelo seu script PHP. Neste caso vamos utilizar a classe SimpleXMLElement.

 

<?php

 

 

 

$tipo_output = "xml"; // pode ser utilizado o json também

 

 

 

// a sua API KEY do Google Maps gerado com o link acima

 

$google_api = "MAPS_API_KEY";

 

 

 

// o endereço que desejamos que o google procure

 

// lembrando que o endereço tem que ser no padrão de uma requisição URL e caso possua acentuação, vamos executar um utf8_encode

 

$endereco_desejado = urlencode(utf8_encode("João Pessoa, PB"));

 

 

 

// Desired address

 

$endereco_final = "

É necessário se cadastrar para acessar o conteúdo.
$endereco_desejado ."&output=". $tipo_output ."&key=$google_api";

 

 

 

// conteudo da página

 

$page = file_get_contents($endereco_final);

 

 

 

// criando um objeto a partir do conteudo da página

 

$xml = new SimpleXMLElement($page);

 

 

 

// retornando apenas os dados de longitude e latitude

 

echo $xml->Response->Placemark->Point->coordinates;

 

 

 

?>

 

O resultado de nosso scritp é:

 

34.8610512,-7.1153200,0

 

Podemos melhorar ainda mais o nosso script criando variáveis mais simples de serem utilizadas. Adicione o seguinte código ao seu script:

 

<?

 

list($longitude, $latitude, $altitude) = explode(",", $xml->Response->Placemark->Point->coordinates);

 

 

 

echo "Longitude: " . $longitude . " <br /> ";

 

echo "Latitude: " . $latitude . " <br /> ";

 

?>

 

Pronto. Agora podemos utilizar nosso script para capturar dados mais completos de um endereço e quem sabe criar um mini GPS :P

 

Espero ter ajudado

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.