Google´i kaardid meie teenistusse

Google MapsArvutimaailm, veebruar 2007

Kaido Einama

Google Mapsi kaarte on küll hea veebist vaadata, kuid veelgi toredam on nende juures see, et sinna saab oma rakendusi peale ehitada. Kõik on täiesti võimalik, kui uurida Google API kirjutamise õpetust.

Programmeerimiskogemusega inimestele on Google Mapsi API kasutamine ühelt poolt lihtne ja teiselt poolt keeruline. Nii on ilmselt kõigi APIdega. Lihtne selle poolest, et API kirjutamisel kehtib sama loogika nagu mujal programmeerimiseski. Keeruline aga sellepärast, et iga API juures on välja mõeldud oma käsklused ja skriptid, mis võivad segi minna teiste programmeerimiskeelte süntaksiga – programmeerimispolügloti jaoks on see mõnikord häiriv. Tegemist on aga siiski üsna lihtsate Java sugulaskoodidega.

Samas on API kirjutamine tehtud korralike juhendite ja näidetega nii lihtsaks, et veidigi tehnilist taipu omav kasutaja saab omale kaardirakenduse loomisega ise hakkama. Palju tuleb aga katsetamise-eksimise meetodit kasutada siingi.

Kaardirakendusi saab kasutada oma kodulehel. Näiteks võib salvestada läbitud teekonna GPSiga ja selle hiljem Google´i kaardil kuvada, võib lisada kaardile olulisi punkte (vaatamisväärsuste, firmade, klientide ja partnerite asukohti jne) või teatud piirkonnad oma kaardiga üle kirjutada, et näidata kaardil mõnda olulist kihti, mida muidu pole (näiteks Pärnu üleujutuste alasid veetõusu korral). Võimalusi on sadu ja API-sid luues saab kõik need võimalused oma hüvanguks tööle panna.

 

Teretame maailma

Iga uue keskkonna õppimine algab programmeerimises „Hello World!” katsega. Google Mapsi puhul proovime maailma teretada kaardiga, mis avaneb Tallinna kohal. Tallinna keskpunkt on määratud kuskil Balti Jaama lähedal koordinaatidega N 59° 26’ 24” E 024° 44’ 24” ehk 59,44 kraadi põhjalaiust ja 24,74 kraadi idapikkust. Kuid enne, kui hakkame programmeerima, tuleb lehel http://www.google.com/apis/maps/signup.html end registreerida, mille tulemusena saab Google API võtme. See tuleb iga kaardirakendusega lehe algusse lisada, muidu kaardirakendused tööle ei hakka.

Kui võti olemas, kirjutame valmis järgmise programmijupi:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Google Maps JavaScript API Example</title>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=abc"
            type="text/javascript"></script>
    <script type="text/javascript">
    //<![CDATA[
 
    function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(59.44, 24.74), 13);
      }
    }
 
    //]]>
    </script>
 </head>
 <body onload="load()" onunload="GUnload()">
    <div id="map" style="width: 500px; height: 300px"></div>
 </body>
</html>

(seal, kus on key=abc, tuleb abc asendada oma Google API key-ga)

Nüüd ongi meil olemas lehekülg, mis kuvab Tallinna kaardi, mida saame hiirega nihutada. Siia võib veel lisada suurenduse-vähenduse nupud ning satelliidipildi/kaardi/hübriidi kihtide vahetuse nupud :

map.addControl(new GSmallMapControl());
map.addControl(new GmapTypeControl());

Nüüd aga lisame kaardile mõne infomulli. Kõigepealt markeri loomise funktsioon (createmarker) ja siis markeril klikkides avaneva infomulli sisu:

function createMarker(point, info) { 
  var marker = new GMarker(point); 
  GEvent.addListener(marker, "click", function() { 
   marker.openInfoWindowHtml(info); 
}); 
return marker; 
}
 
var point = new GLatLng(59.431846, 24.734867);
var marker = new GMarker(point);
map.addOverlay(createMarker(point, "<b><a href=http://www.reisijutud.com/module.php?mod=node&or=54>Info Tallinna kohta</b>")); 

Nii lihtne see ongi – edasi saab juba harjutada kaardi suuruse muutmist, uute kaardikihtide lisamist, teekonna lisamist ja palju muud. Või minnes veelgi kergemat teed – võtta saab mõne Google Mapsi APIdel põhineva valmislahenduse ja sealt veidi maha kirjutada. Neid lahendusi on tõesti palju ja kõigil leidub ka üks ühine suur puudus, kuna nad on üles ehitatud Google Mapsi kaartidel – Eesti kohta pole just hiilgavalt palju infot. Parim osa Google´i kaartidest on suuremate linnade satelliidipildid ja ka Tallinna kohta on need päris head. Aga maapiirkonnad on tühjad ja infovaesed. Selleks, et häid kaarte ka Eesti maapiirkondade kohta oma veebi lisada, sobib suurepäraselt näiteks Regio veebikaarditeenus, kuid see on juba teine teema. Vajadusel saab Google Mapsi rakendusele lisada alla ka oma kaardi, mis veidi leevendab rahvusvaheliste satelliidipiltide kohatist ebatäpsust. Nüüd aga vaatame üle mõned valmisrakendused.

 

Kaart koos kommentaaridega – FMAtlas

http://fmatlas.com/

See Faneuil Media poolt loodud lahendus on mõeldud eelkõige online meediale – saab luua teemakaarte, mida hiljem võivad lugejad asuda täiendama asukohapõhiste kommentaaride ja fotodega. Toimetus saab kaardi-infot lisada KML-failide abil, mis on Google Earthi kaardi-info formaat. Ka GPSi andmeid on kaardile lihtne kanda.

 

Reisiteekond ja pildid kaardile

http://triptracker.net/

Triptracker sobib nii reisilt tulijale kui tööinimesele – see võimaldab oma teekonna, mis on näiteks GPSiga salvestatud, kaardile kanda ning teekonna juurde lisada olulisemate kohtade kirjeldused ja pildid. Tulemuseks on üsna efektne reisikirjeldus (või ka näiteks kinnisvaramaakleri tööpäeva kirjeldus kaardil), kus saab huvitavaid kohti suurendada-vähendada.

 

Klienditeenindus kaardile

http://www.platial.com/mapkit/

Mapkit pakub Google Mapsi põhjal samuti võimalust luua kaardilahendus kommuunile või teha kaardipõhist klienditeenindust või foorumit. Lisada saab kommentaare, pilte, videoid. Kliendibaasi saab siduda asukohaga ja kaardilt vaadata.

 

Teekonnad koos huvipunktidega kaardile

http://www.activetrails.com/

Activetrails on küll rohkem suunatud matkajatele, kes jagavad läbitud matkaradade GPS-faile teistega, et need saaksid sama teekonda korrata, kuid sobib mistahes sarnase rakenduse tegemisel eeskujuks. Suhteliselt minimaalse käsitööga saab luua kaardi, millel on teekond, teekonnapunktidega seotud infomullid (mis võivad linkida mõnele eraldi veebile) ja kommenteerimisvõimalus.

 

Kogukond kaardile – Frappr!

http://www.frappr.com/

See kaardirakendus lisab kogukondi kaardile ja aitab leida sobivaid inimesi naabrusest, kas siis meelelahutuse või äri eesmärgil. Sisse logides püüab süsteem ära arvata, kus sa asud, kuid arvab veidi mööda – Tallinnas asuv IP-aadress paigutati näiteks keset Saaremaad. Kuid see lõpuks siiski ei sega – igaüks saab oma asukoha ise tirida sobivale kohale. Näiteks on Frapprit kasutanud ettevõtted oma kliendigruppide määramiseks, pannes nad eri värvi nupukestega kaardile, raadiojaamad on uurinud, kus asuvad nende veebis registreeritud kasutajad ehk kuulajad.

 

IP-aadress kaardile

http://www.ip-adress.com/ - näitab kasutaja arvuti asukohta Google´i kaardil. Eesti infot ei maksa väga uskuda. Vaatame, kus asub Eesti Interneti otsingumootor Neti.ee. Kaardirakendus pakub, et Oru külas kümmekond kilomeetrit Tartu maanteed pidi linnast välja. Karta on, et seal pole salajast maa-alust Elioni serverikeskust. Kuid Soomes, Suurbritannias või USA-s on täpsus tunduvalt parem, eriti aga USA-s, kus suurlinnades võib asukoha määrata juba kvartali täpsusega või enam.

 

Pildistamiskohad kaardile

http://www.everytrail.com/

Seegi veebikeskkond on mõeldud oma teekonna GPSist Google´i kaardile panemiseks nagu paljud teisedki, kuid lisaks on tal ka võimalusi näiteks kaardilolevat teekonda kohendada ja pildistamiskellaaja järgi pildid teekonnaga ühendada. See eeldab muidugi fotoka ja GPSi kellade sünkroniseerimist, sest pildi asukoht võetakse teekonnafailist sama kellaaega kandvate koordinaatidega. Tulemuseks jällegi kas reisi või ametisõidu jälg kaardil koos piltide ja kommentaaride asukohamääramisega.

 

Kinnisvara, logistika ja reisid kaardile

http://www.discovermachine.com/

Discovermachine on järjekordne GPSidest pärit teekondade Google´i kaardile koguja. Kuid lisaks tavalisele puhkajate mälestuste jäädvustamisele suhtutakse eelarvamusteta ka ärikasutajatesse – seal leidub nii kinnisvarakaarte, logistikafirmade teekonnaskeeme kui lennundus-, laevandus- ja kalandus- ja teiste spetsialistide kaardistatud huvialasid.

 

Lahendused oma aluskaardiga

http://www.maplib.net

Kui Google´i kaart ei rahulda (nagu näiteks Eesti maapiirkondade puhul), siis Maplib kogub täpselt Google Mapsi kaardimootoris kasutatavaid kaarte, kus Google´i enda kaardipõhi on asendatud mõne kasutaja poolt lisatud fotoga. Näiteks on loodud suurendatav ja infomullidega „Sõrmuste Isanda” maakaart, elektroonikamessi üldplaani fotole on infomullidena kantud kõigi eksponentide asukohad jne. Navigeerida saab nagu tavalises Google Mapsi rakenduses.

 

Elanike liikumine kaardile

http://www.liveworkplay.org.uk

See rakendus on mõnevõrra sarnane Eestis loodud Joint Space´i lahendusega, kus jälgitakse inimeste liikumist ajas ja ruumis. „Live. Work. Play” projekt tegeleb samamoodi inimeste asukoha näitamisega ajas ja ruumis, Google´i kaardilt saab näha, kus ligi 120 vabatahtliku on käinud ja kus hetkel viibivad. Erinevalt Jointspace´i mobiilpositsioneerimisest sisestavad inglased oma asukohta käsitsi ja postiindeksi täpsusega.

 

Kohalikud kellaajad kaardile

http://www.qlock.com/time/gmaps?map=1

Qlock aitab kenasti suurendataval kaardil välja otsida koha, mille kohalikku aega vaja teada. Eestis on oma ajaga esindatud Tallinn ja Tartu.

 

Mõõda pindalasid

http://www.acme.com/planimeter/

Ilmselt kinnisvarateemadega seotud inimestele pakub huvi planimeteri lahendus: piira joonega suvalises kohas maakeral ära mingi maalahmakas ja tulemuseks on pindala hektarites või ruutkilomeetrites.

 

Panoramio – pildid kaardile

http://www.panoramio.com/

Panoramio on üks viimase aja tuntumaid tegijaid piltide sidumisel nende tegemise asukohaga. Põhjalik veebikeskkond lubab kasutajal hoida nende serveris kuni 2 GB pilte, kaardirakendus on jällegi eeskujulik näide Google Mapsi kaartide API kasutamisest. Näiteks on üks Hispaania veinimüüja leidnud hea võimaluse näidata kaardil, kus miskid veiniviinamarjad asuvad ja millised veinipudelid millisest piirkonnast pärit.

 

Ilmateade kaardile

http://www.weatherbonk.com/

Weatherbonk näitan Google Mapsi kaardirakendusega ilmateadet. Suurenda, kui tihedamini asustatud piirkonnas täpsemalt mõne paiga ennustust näha vaja.

 

Videod kaardile

http://virtualtourism.blogspot.com/

Ehkki tegemist puhtalt turismiteemalise kaardikoguga, on see ajaveeb hea koht otsimaks videoid asukohaga siduvaid kaardirakendusi.

 

Üleujutused kaardile

http://flood.firetree.net/

Viimasel ajal tihti korduma hakkavate üleujutuste jaoks on samuti Google Mapsi rakendus olemas. Ülalolev link viitab lehele, kust saab valida maailmamere taset meetrites üle keskmise nulli ja sobiva üleujutustaseme valides joonistatakse välja uus rannajoon, mis meid tulevikus kliima soenedes ning merevee tõustes ootab. Pärnu üleujutused on üsnagi usutavalt esitatud.

 

Pildid, videod, Wikipedia – kõik ühele kaardile

http://www.jotle.com/

Lõpetuseks aga kõigi erinevate Google Mapsi rakenduste seas viimastel kuudel säravalt esile tõusnud keskkond – Jotle. See paneb kaardile kõik meile tuntud palju kasutatavad keskkonnad, sidudes kaardil kokku Youtube´i videod, Flickri pildid, Wikipedia artiklid ja Placeopedia asukohainfo. See lahendus näitab, kuidas Google Maps API abil palju erinevaid teenuseid ühte rakendusse siduda.

 

Mis on API?

API (Application Programming Interface) on programmikoodi liides, mille abil on võimalik teha päringuid mingile tarkvararakenduse teenusele. Tegemist on programmeerimiskeelega konkreetse tarkvararakenduse jaoks, mis kirjeldab päringu sisu sellele rakendusele arusaadavalt.

API abil on võimalik ühendada erinevaid tarkvararakendusi, näiteks kasutaja veebirakendust Google´i kaardimootoriga (Google Maps API).

 

Mis on Google Maps?

Google Maps on maailma tuntuima Interneti otsimootori (ja ühe tuntuima internetifirma üldse) veebiteenus kaartide ja satelliidipiltide kuvamiseks maailma kohta. Google Mapsi abil saab leida teekonna punktist A punkti B ja vaadata teele jäävaid vaatamisväärsusi või olulisi objekte. Kaarte saab veebiaknas suurendada, vähendada, nihutada, lülitada erinevate kihtide (kaart, topo, satelliidifoto, hübriid) vahel ning vajadusel luua selle baasil oma kaardirakendusi Google Maps API abiga.

Kasutame veebilehel nn Cookie´sid, et toetada tehnilisi funktsioone ja pakkuda sellega paremat kasutajakogemust.

Kasutame ka andmeanalüütikat ja reklaamiteenuseid. Klõpsa nupul Rohkem teavet, kui tahad lähemalt teada.