Você está na página 1de 3

Capturando longitude e latitude com o Google Maps

O cdigo 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 endereo: http://code.google.com/apis/maps/signup.html O Google facilitou bastante para ns, permitindo que seja gerado um contedo no formato XML ou JSON (padro) e que possa ser lido facilmente por qualquer linguagem de programao. No nosso caso, vamos utilizar o PHP. O seguinte cdigo simplesmente invoca uma URL especfica do Google Maps para retornar os dados completos de um determinado endereo passado na URL. Veja: O resultado deste script o seguinte: <?xml version=1.0 encoding=UTF-8 ?> <kml xmlns=http://earth.google.com/kml/2.0><Response> <name>Porto Alegre, RS</name> <Status> <code>200</code> <request>geocode</request> </Status> <Placemark id=p1> <address>Porto Alegre Rio Grande do Sul, Brazil</address> <AddressDetails Accuracy=4 xmlns=urn:oasis:names:tc:ciq:xsdschema:xAL:2.0><Country><CountryNameCode >BR</CountryNameCode><CountryName>Brasil</CountryName><AdministrativeA rea><AdministrativeAreaName>RS</AdministrativeAreaName><Locality><Locality Name>Porto Alegre</LocalityName></Locality></AdministrativeArea></Country></AddressDeta ils> <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 tambm

// a sua API KEY do Google Maps gerado com o link acima $google_api = MAPS_API_KEY; // o endereo que desejamos que o google procure // lembrando que o endereo tem que ser no padro de uma requisio URL e caso possua acentuao, vamos executar um utf8_encode $endereco_desejado = urlencode(utf8_encode(Joo Pessoa, PB));

// Desired address $endereco_final = http://maps.google.com/maps/geo?q=. $endereco_desejado .&output=. $tipo_output .&key=$google_api;

// conteudo da pgina $page = file_get_contents($endereco_final); // criando um objeto a partir do conteudo da pgina $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 variveis mais simples de serem utilizadas. Adicione o seguinte cdigo 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 endereo e quem sabe criar um mini GPS.

Você também pode gostar