1 JavaScript a API RNDr. Tomáš ŘEZNÍK, Ph.D. Webová kartografie – úvod Laboratoř geoinformatiky a kartografie, Masarykova univerzita Laboratoř geoinformatiky a kartografie, Masarykova univerzita JavaScript • Teorie – viz. přednáška • PSPad/Notepad++ • Kombinace se známým (X)HTML • V tomto předmětu pouze skripty vkládané do zdroj. kódu • Samostatné skripty (.js nebo .jse) • Potřeba opět webový prohlížeč • Není validace Laboratoř geoinformatiky a kartografie, Masarykova univerzita JavaScript • Skript se píše mezi tagy • Vkládají se i do , ale i • Záleží podle účelu • Syntaxe tagu Laboratoř geoinformatiky a kartografie, Masarykova univerzita JavaScript vložený do stránky • Atribut language – název skriptovacího jazyka • Atribut type – typ skriptu – u našich webových map vždy text/javascript • Existují prohlížeče, které nemusí rozumět JavaScriptu → je vhodné zapsat začátek skriptu • Prohlížeč by jinak vypsal skript jako normální text, takto ho bere jako komentář a neukáže ho Laboratoř geoinformatiky a kartografie, Masarykova univerzita JavaScript vložený do stránky • JavaScript je Case sensitive • Nejjednodušší skript document.write("ahoj"); • Každá metoda, funkce nebo vlastnost skriptu má být ukončena středníkem • Bez uvozovek by prohlížeč ahoj bral za proměnnou • Proto psaní uvozovek navíc potřebuje před znak “ ‘ lomítko document.write("Tohle \"jsou\" uvozovky"); • Komentáře se přidávají pomocí znaků /* nebo */ pro víceřádkový komentář Laboratoř geoinformatiky a kartografie, Masarykova univerzita Deklarace proměnné • Vkládají dynamiku; každá proměnná má název a dynamiku var prom = 23; var město=“Paříž”; var nadpis1=“

nadpis1

”; var marker; var position = new GLatLng(49.204876043213574, 16.597048044204712); var map = new GMap2(document.getElementById(“mapField”)); • Zápis proměnné var mesto = "Paříž"; document.write(mesto); //zapíše 'Paříž' 2 Laboratoř geoinformatiky a kartografie, Masarykova univerzita Práce s proměnnými var mesic_plat = 45000; //měsíční plat var rok = 12; //rok má 12 měsíců var rok_plat = mesic_plat*rok; //plat za rok var rok_den = 365; //rok má 365 dní var plat_den = rok_plat/rok_den; //plat za den document.write("Váš měsíční plat činí "+mesic_plat+ +"Kč
Váš roční plat činí "+rok_plat+"Kč
Za den dostanete"+plat_den+"Kč"); • Můžete využívat aritmetické operátory a++ přičte 1, a-- odečte 1, a+=y přičte y, a-=y odečte y, a*=y vynásobí y, a/=y vydělí y • Kromě proměnných existují i pole proměnných Laboratoř geoinformatiky a kartografie, Masarykova univerzita Funkce • Kromě existujících funkcí JavaScriptu můžete přidávat své vlastní • Deklarace funkce function napis(){ document.write("ahoj"); } • Klíčové slovo function deklaruje funkci – povinné • Slovo napis je název funkce (pište je bez diakritiky) • () uvádí, že se jedná o funkci s parametrem • {} ohraničuje tělo funkce • Vyvolání funkce napis(); // funkce bez argumentu Laboratoř geoinformatiky a kartografie, Masarykova univerzita Události • Najedete myší na text – změní barvu, kliknete na mapu – vrátí vám informace o bodu,… • Deklarují se u značek (X)HTML • Zapsání jméno události="skript který se má zavolat;" Laboratoř geoinformatiky a kartografie, Masarykova univerzita Nejčastější události pro webové mapy • onClick Při kliknutí • onDblClick Při dvojitém kliknutí • onSubmit Při odesílání formuláře • onMouseOver Při najetí kurzoru na objekt • onMouseWheel Při rolování kolečkem • Více o JavaScriptu např. na http://www.tvorba- webu.cz/javascript/ GOOGLE MAPS API Laboratoř geoinformatiky a kartografie, Masarykova univerzita Google Maps API • Princip API – viz. přednáška • Hlavní zdroj https://developers.google.com/maps/ • Postup – „upsat se“ pro API klíč na at https://code.google.com/apis/console – vložit klíč do svých stránek – začít tvořit (nejlépe s ohledem na zdroje): https://developers.google.com/maps https://developers.google.com/maps/documentation/javascript/tut orial http://koti.mbnet.fi/ojalesa/exam/index.html http://econym.org.uk/gmap/ 3 • http://makingmaps.wordpress.com/2007/10/18/custom-map- symbols-in-google-maps/ • http://atenasio.googlepages.com/gdd2007.html • http://www.nelso.cz/mapa-cen-piva-v-praze/ Laboratoř geoinformatiky a kartografie, Masarykova univerzita Další užitečné odkazy Laboratoř geoinformatiky a kartografie, Masarykova univerzita Google knihovny figurálních symbolů • Dostupné na Google serveru • Google mapy užívají KML renderer pro jejich vykreslování • 4 složky ikon (http://maps.google.com/mapfiles/kml/pal2/ až 5) • Každá složka obsahuje 64 ikon (icon0.png – icon64.png) • Pro každou ikonu PNG (32×32) dostupný také stín PNG (59×32) – pojmenování icon27s.png • Nastavení vhodné pro většinu ikon Icon.iconSize=new GSize(32,32); Icon.shadowSize=new GSize(56,32); Icon.iconAnchor=new GPoint(16,32); Icon.infoWindowAnchor=new GPoint (16,0); Laboratoř geoinformatiky a kartografie, Masarykova univerzita Google knihovny figurálních symbolů Laboratoř geoinformatiky a kartografie, Masarykova univerzita Google knihovny figurálních symbolů Laboratoř geoinformatiky a kartografie, Masarykova univerzita Google knihovny figurálních symbolů Laboratoř geoinformatiky a kartografie, Masarykova univerzita Google knihovny figurálních symbolů