1
JavaScriptJavaScript a APIa API
RNDr. TomRNDr. Tomášáš ŘŘEZNEZNÍÍK, Ph.D.K, Ph.D.
GeoinformaGeoinformaččnníí technologie 2technologie 2 webovwebováá kartografie,kartografie,
podzim 2008podzim 2008
Laboratoř geoinformatiky a kartografie, Masarykova univerzita Laboratoř geoinformatiky a kartografie, Masarykova univerzita
JavaScriptJavaScript
* Teorie viz. přednáška
* PSPad
* 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) součástí AxioMapu
* Potřeba opět webový prohlížeč
* Není validace
Laboratoř geoinformatiky a kartografie, Masarykova univerzita
JavaScriptJavaScript
* 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
JavaScriptJavaScript vlovložžený do strený do stráánkynky
* 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
JavaScriptJavaScript vlovložžený do strený do stráánkynky
* 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 promDeklarace proměěnnnnéé
* 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
PrPrááce s promce s proměěnnýminný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
FunkceFunkce
* 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
UdUdáálostilosti
* 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
NejNejččastastěějjšíší ududáálosti pro webovlosti pro webovéé mapymapy
* 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
GoogleGoogle MapsMaps APIAPI
* Princip API viz. přednáška
* Hlavní zdroj http://code.google.com/apis/maps/
* Postup
,,upsat se" pro API klíč na
http://code.google.com/apis/maps/signup.html
vložit klíč do svých stránek
začít tvořit (nejlépe s ohledem na zdroje):
http://code.google.com/apis/maps/documentation/index.html
http://code.google.com/apis/maps/documentation/examples/
http://code.google.com/apis/maps/documentation/reference.html
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
DalDalšíší uužžiteiteččnnéé odkazyodkazy
Laboratoř geoinformatiky a kartografie, Masarykova univerzita
GoogleGoogle knihovny figurknihovny figuráálnlníích symbolch 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
GoogleGoogle knihovny figurknihovny figuráálnlníích symbolch symbolůů
Laboratoř geoinformatiky a kartografie, Masarykova univerzita
GoogleGoogle knihovny figurknihovny figuráálnlníích symbolch symbolůů
Laboratoř geoinformatiky a kartografie, Masarykova univerzita
GoogleGoogle knihovny figurknihovny figuráálnlníích symbolch symbolůů
Laboratoř geoinformatiky a kartografie, Masarykova univerzita
GoogleGoogle knihovny figurknihovny figuráálnlníích symbolch symbolůů