H2905121926
K3006132027
Sz3107142128
Cs0108152229
P0209162330
Sz0310172431
V0411182501

Összes blogok

2008/10/12

szegény ember mobiltérképe: MGMaps

Csiribiri 3G-s okostelefont addig nem fogok venni, amíg nem lesz valami, ami tényleg megtetszik (mondjuk egy G1, ha egyszer bejön végre itthonra, az iPhone-tól az ég mentsen meg), kocsival nem mászkálok annyit, hogy kelljen a kedves hangon újratervezést követelő és gyorshajtásért baszogató spiné, viszont néha piszkosul szükség van arra, hogy megmondjam, hányadik keresztutca az Ó a Bajcsyról vagy hogy merre is van legújabban a Tűzraktér, aminek csak a címét vágják hozzám. Tavasszal az ilyesmikre a kis szerencsétlen k550i-men is tökéletesen működő Google Maps-et használtam – nagyjából az első számláig. Hja, jó nem bolyongani negyedórát a hétker hangulatos kis utcáiban, de nem biztos, hogy ez sessionönként 500-1000 forintot megér a 3G híján maradt méregdrága GPRS-forgalmon át.

 

Na itt jön a képbe az utóbbi évek legzseniálisabb ingyenes (bár, beware, nem open source) kis programja, az MGMaps. Alapban semmi különlegeset nem nyújtana: egyszerűen csak egy prímán összerakott, jól használható kis frontend a legtöbb ismert online térképszolgáltatás (google, yahoo, ms live) köré. Amitől ultimate termékké válik, az az, hogy messzemenőkig támogatja az offline használatot.

 

A dolog menete annyi, hogy feltolod a JAVAs, minden kicsit is modernebb kütyün eldöcögő programot a telefonodra, majd elkezded a térképadatbázist szépen a rendes gépeden lelícselni a legszimpatikusabb szolgáltatótól – 100k-nként egy százas helyett praktikusan ingyen. Ezt aztán szintúgy ráeteted a telefonodra (szép nagy memóriakártya mondjuk ajánlott, de mondjuk egy Budapest belváros pár tíz megába mindenestül belefér), átbillented a progit offline módba, hogy meg se próbálja neten leszedni a térképeket, dolgozzon csak a cache-ből, és pámpárrápám, van kb. 10 perc munkával egy tökéletesen használható digitális térkép a zsebedben, amin teljesen ingyen tudsz keresni.

 

A legzseniálisabb azonban még csak nem is ez benne, hanem ahogy a letárolt térképeket össze tudja kötni az online keresésekkel: sokra nem mész egy részletes térképhalommal, ha nem tudsz keresni benne. Viszont ezt simán megoldja: tud keresni címre, útvonaltervre, csupán pár kilobájtnyi forgalmat generálva és az eredményeket meglepően precízen és jól használhatóan rávetítve a tárolt képkockákra. 

 

A térképek lelícselését persze meg kell valahogy oldani automatizáltan, valahogy fel kell építeni azt a cache-t a rendes nettel bíró gépeden. Valahol mintha láttam volna hozzá valami klikkolgatós windowsos toolt is, mindenesetre a becsületes POSIX-világban pofonegyszerű a dolgunk:

  • fogjuk a megfelelő MapTileCacher Perl-scriptet, ami a különféle szolgáltatóktól képes koordináták alapján leszedni a térképkockákat (tapasztalatok szerint a Yahoo Maps használható a legjobban erre a célra)
  • az egyik szimpatikus felszínen megkeressük, milyen koordináták közti területek kellenek nekünk – egyszerűen elnavigálunk oda, és az URL-ből vagy valahonnan máshonnan kihalásszuk a szélességi és hosszúsági fokokat. Pár példajellegű koordináta, amiket én első körben lehúztam (fájlonként a bal felső sarok-jobb alsó sarok párok vannak az érdekes területekről) itt elérhető e.
  • mindezt megmondjuk a Perl-scriptnek, ami szépen elkezdi nekünk kockánként leszedni a térképeket és felépíti a programnak beadható offline cache-t. Két jótanács: egyrészt ne gondoljuk annyira nagyot elsőre, a legrészletesebb felbontáson teljes Budapest leszedése is combos feladat lesz, ne akarjunk utcaszinű világtérképet a zsebünkbe, másrészt az elérhető legkisebb zoomszinttel érdemes kezdeni, mert úgyis a legutolsó nagyítási szint fogja adni az adatmennyiség 95%-át, és így legalább teljesen kizoomolva össze fognak érni a területeink.
  • Ha megunjuk a kézzel etetését a Perl-scriptnek, automatizáljuk egy kicsit a dolgot, pl. ezzel a síkprimitív, de a célra alkalmas kis shellscripttel.

 

Na, ha valaki kibírta idág, itt egy bónuszvideó, ahol érces baritonommal kommentálom és megmutogatom az egészet élőben, jól:

(Gyakorlatilag használhatatlanul fényessé tette a kijelzőt a jútyúb konverziója, de már semmi kedvem küzdeni vele, relatedben van pár, ahol látszanak is a dolgok...)

Kulcsszavak: kocka mgmaps