Архива за 'geografija' категорију

Interaktivna mapa grada

мај 4, 2008

Odavno se na ES-u tražilo rešenje za izradu sistema za mape kao što je Google-ov Google maps ili Contrast-ov PlanPlus, ali uvek se dolazilo do zaključka da je potreban MapServer i ka-Map! ili neki sličan softver, što dalje zahteva dedicated server jer pomenuti programi ne mogu da rade na običnim shared hosting mašinama. Odlučio sam da promenim to, i mogu vam reći da mi uopšte ne ide loše.

Na sajtu www.mladenovac.in.rs, koji sam još ranije započeo, a koji još uvek nije zaživeo kako treba (nema se vremena), možete videti interaktivnu mapu grada Mladenovca koju pokreće ništa više do PHP (+GD) i MySQL. Projekat nije baš elegantan kao gore pomenuti sistemi mapa, ali vrši posao… a kako nameravam da ga dalje razvijam u slobodnom vremenu (kojeg više nemam počev od prekosutra kad mi ponovo kreću predavanja), verujem da će biti sve bolji i bolji. Još ako nađem nekog asistenta - super (dobrovoljci?)

Takođe, ovo je prvi put da koristim jQuery u nekom od svojih projekata, i pitam se kako sam mogao da živim bez njega do sada? Pa znate kada bih uradio ovako dobro cross-browser panovanje slike bez njega? Nikad

Ono što će se razlikovati u aplikaciji koju ću na kraju objaviti i ove “pre alpha” verzije koja stoji na mladenovac.in.rs je to da tamo posetioci sajta mogu da se upišu na mapu, a u verziji koju zvanično budem objavljivao biće sve read-only (ili barem ja to tako trenutno mislim).

E sad, na prvi pogled, ono što treba implementirati u ovu web aplikaciju:

Smisliti ime aplikacije (phpMyMap? Mnogo volim phpMy… imena za projekte) Automatsko panovanje mape1 Grupe objekata Pretraga objekata po grupama Filtriranje prikaza po grupama2 Kompletni redizajn aplikacije (moram naći neki profi dizajn ili da angažujem nekog da to uradi) Zoom (ovo nema teorije da odradim :-/)

Sistem radi tako što, kada ja odobrim unos, PHP (odnosno GD) na određenim koordinatama ucrtava plavi kvadratić koji označava da tu ima nečega na mapi (a onda se na istim koordinatama kreira jedan area u image mapi u samom html-u koji služi za prikaz detaljnih informacija). Za sliku dimenzija 2699×3114 piksela, kolika je mapa Mladenovca koju posedujem, potrebno je skoro 45 megabajta memorije da se njom manipuliše (za izračunavanje je korišćena forumula koju možete naći ovde). Ukoliko ne nađem alternativu ovome, i ova moja aplikacija će biti prilično non-user-friendly, a ja to ne želim. A mogao bih da koristim nešto kao što koristi Dootzky na njegovoj GNU/Linux mapi, ali ne znam kako to da ukomponujem u panovanje?

1 - Ako otvorite mapu Mladenovca i ne vidite ništa iako se informacija o tome da sačekate učitavanje mape sklonila, mapa je tu, ali u tom delu mape (gore-levo) nema ničega, tako da je samo potrebno da panujete mapu malo u stranu i videćete ulice/objekte. Kada bih uspeo da automatski centriram mapu onda se ljudi ne bi zbunjivali. Za panovanje slike koristim panView JQuery plugin, a on nije toliko fleksibilan da može i ručno da se panuje/centrira slika, a sam da izmenim plugin ne umem (još uvek… ali sve se da naučiti :-)), tako da… ideje?

2 - Kao što napisah iznad, objekti se ucrtavaju na mapu. To znači da bih za svaku grupu morao da imam odvojenu mapu. Not gonna happen :-/

p.s. Ako sam nešto zaboravio da napišem, ne zamerite. Sad je dva sata ujutro, a ja sam ceo prethodni dan radio na ovoj aplikaciji. Laku noć!