90 likes | 245 Views
Webatlas API En introduksjon for utviklere (og andre interesserte). Harald K. Jansson Systemutvikler Norkart AS. Hva er det egentlig?. En innsynsløsning. Et programmeringsgrensesnitt for (Norkarts) kart på web. Laget for å håndtere mange samtidige brukere.
E N D
Webatlas APIEn introduksjon for utviklere (og andre interesserte) Harald K. Jansson Systemutvikler Norkart AS
Hva er det egentlig? En innsynsløsning. Et programmeringsgrensesnitt for (Norkarts) kart på web. Laget for å håndtere mange samtidige brukere. Enkel navigering, med minimal henting av kartdata. Ligner på Google Maps, MS Virtual Earth og Yahoo! Maps.
Hvordan gjør vi det? Javascript som eksekveres i nettleseren. Et rutenett med forhåndsdefinerte zoomnivåer og kartbiter. Kartdata trenger bare å genereres en gang. Linux/ apache2 baserte servere som leverer kartdata: Leverer i hovedsak pregenererte kartutsnitt, men dynamisk generering kan også benyttes. Predefinerte zoomnivåer. Leverer flere millioner kartutsnitt om dagen (på det meste har vi levert ca. 350 000 kartutsnitt på en time). Enkel tilgangskontroll og vannmerking av demodata.
Hvorfor er dette lurt? Vi senker terskelen for å lage innsynsløsninger til våre kartdata. Vi kan håndtere store mengder brukere. Vi slipper vi å vedlikeholde mange løsninger: APIet vil ta seg av grunnfunksjonaliteten for flere av innsynsløsningene våre. Siden kartet settes sammen av små biter, kan disse lastes asynkront. Resultatet blir at navigasjonen oppleves som sømløs og mer intuitiv.
Hvilke utfordringer har vi? • Siden APIet leverer grunnfunksjonaliteten vår må denne til enhver tid være kompatibel med de største nettleserne. • Vi støtter: • Firefox2 • Internet Explorer 6&7 • Opera • Safari • Mozilla • All dokumentasjon må holdes oppdatert i forhold til ny og eksisterende funksjonalitet. • Serverparken vår må kunne garantere for oppetid, stabilitet og respons.
Et par eksempler. • Den enkleste klienten: • http://www.webatlas.no/webatlasapi/doku.php?id=examples#simple_map • Vi leker med WMS: • http://www.webatlas.no/webatlasapi/doku.php?id=examples#use_of_wms_overlays • Eventhåndtering: • http://www.webatlas.no/webatlasapi/doku.php?id=examples#event_handling_ii
Hender på. Før vi skal sette i gang med å lage klienter er det et par ting som er kjekt å vite: APIet benytter seg av prototype.js (http://www.prototypejs.org/ ), noe som gjør at dere kan benytte syntaksen til dette biblioteket. All APIdokumentasjon er tilgjengelig på : http://www.webatlas.no/webatlasapi/
Lag en klient som… • Viser et flybildeutsnitt av huset ditt. • Inneholder en annotasjon. • Har en GUI av type ’smallinverted’. • Har en fast størrelse på 400x800. • (ekstra) Har mulighet for å legge til nye annotasjoner ved museklikk i kartet. • (ekstra) Har et område som du velger, og som sender klienten tilbake til utgangspunktet hvis brukeren navigerer til dette området. • Go crazy.