Pereiti prie turinio

Pamoka: Darbas so Google Geocoding servisu


Rekomenduojami pranešimai

Sveiki,

 

Šiandien noriu trumpai parodyti kaip pasinaudojant Google Geocoding servisu galima iš netiksliai įvesto adreso išgauti ne tik tikslius duomenis apie tą vietovę, bet koordinates ir pan. duomenis. Asmeniškai jį (šį servisą) naudojau įvairiose situacijose, tai kiekvienas ras pritaikymą savo projektuose.

 

Pvz.: Vartotojui leidžiama įvesti adresą laisva forma, bet mums reikia, kad jis būtų struktūriškai teisingas.

 

<?
//vietoje tarpų naudojam "+" ženklą
$location='Gedimino+11+Vilnius';
$url='http://maps.googleapis.com/maps/api/geocode/json?address='.$location.'&sensor=false';
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$data=curl_exec($ch);
curl_close($ch);
$data=json_decode($data,TRUE);
/*
echo '<pre>';
print_r($data);
echo '</pre>';
*/

//patikslintas adresas
$adresas=$data['results'][0]['formatted_address'];
echo $adresas;
?>

Rezultate gausime: Gediminas Ave 11, Vilnius 01103, Lithuania

Šiuo atveju Google prospektą pateikė nelietuviškai, bet tai galima sutvarkyti atsižvelgiant į kitus grąžinamus atributus.

 

Atvirkštinis variantas (iš koordinačių į adresą) išgaunamas taip:

$location2='54.688165,25.280868';
$url='http://maps.googleapis.com/maps/api/geocode/json?latlng='.$location2.'&sensor=false';

 

Visa API dokumentacija: http://code.google.com/intl/lt/apis/maps/documentation/geocoding/

 

Atkreipiu dėmesį, kad per dieną galima atlikti ne daugiau 2500 uklausų, tai būkite atsakingi.

 

Usage Limits

Use of the Google Geocoding API is subject to a query limit of 2,500 geolocation requests per day. (User of Google Maps API Premier may perform up to 100,000 requests per day.) This limit is enforced to prevent abuse and/or repurposing of the Geocoding API, and this limit may be changed in the future without notice. Additionally, we enforce a request rate limit to prevent abuse of the service. If you exceed the 24-hour limit or otherwise abuse the service, the Geocoding API may stop working for you temporarily. If you continue to exceed this limit, your access to the Geocoding API may be blocked.

Note: the Geocoding API may only be used in conjunction with a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.

 

SĖKMĖS!

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...