/* střed mapy */ var center = SMap.Coords.fromWGS84(15.9, 49.75); /* inicializace API */ var m = new SMap(JAK.gel("mapa"), center, 6); /* definujeme pouzivane mapove podklady */ m.addDefaultLayer(SMap.DEF_OPHOTO); m.addDefaultLayer(SMap.DEF_TURIST); m.addDefaultLayer(SMap.DEF_BASE).enable(); /* pridame zakladni ovladaci prvky */ m.addDefaultControls(); /* nastavíme a přidáme přepínač mapových podkladů */ var layerSwitch = new SMap.Control.Layer(); layerSwitch.addDefaultLayer(SMap.DEF_BASE); layerSwitch.addDefaultLayer(SMap.DEF_OPHOTO); layerSwitch.addDefaultLayer(SMap.DEF_TURIST); m.addControl(layerSwitch,{left:"8px", top:"9px"}); var znacky = new SMap.Layer.Marker(); /* Vrstva se značkami */ m.addLayer(znacky).enable(); var znacka = new SMap.Marker(SMap.Coords.fromWGS84(0, 0), null, null); znacka.decorate(SMap.Marker.Feature.Draggable); znacky.addMarker(znacka); function click(e, elm) { /* Došlo ke kliknutí, spočítáme kde */ var coords = SMap.Coords.fromEvent(e.data.event, m); znacka.setCoords(coords); zmenSouradnice(coords); } m.getSignals().addListener(window, "map-click", click); /* Při signálu kliknutí volat tuto funkci */ function zmenSouradnice(coords) { coords = coords.toWGS84(0).join(',').split(','); $('#lat').empty().val(coords[0]); $('#lng').empty().val(coords[1]); } function start(e) { var node = e.target.getContainer(); node[SMap.LAYER_MARKER].style.cursor = "help"; } function stop(e) { var node = e.target.getContainer(); node[SMap.LAYER_MARKER].style.cursor = ""; var coords = e.target.getCoords(); zmenSouradnice(coords); } var signals = m.getSignals(); signals.addListener(window, "marker-drag-stop", stop); signals.addListener(window, "marker-drag-start", start);