function MapInterface(el) { this.elmap = el; // map element this.gmap = null; // gmap object var imageThis = this; this.deflat = 49.70; // starting lat. this.deflng = 15.514; // starting long. this.defzoom = 8; // starting zoom this.defscrollwheelzoom = true; // starting scrollwheel zoom this.initialize = initialize; function initialize() { if (window.location.hash.length > 0) { var args = window.location.hash.substr(1).split('@'); for (var ti = 0; ti < args.length; ti++) { var argpts = args[ti].split('='); if (argpts[0] == 'pos') { var posa = argpts[1].split('|'); if (posa.length == 3) { this.deflat = parseFloat(posa[0]); this.deflng = parseFloat(posa[1]); this.defzoom = parseInt(posa[2]); } } } } var mapOptions = { center: new google.maps.LatLng(this.deflat, this.deflng), zoom: this.defzoom, scaleControl: false, scaleControlOptions: { position: google.maps.ControlPosition.BOTTOM_LEFT }, zoomControl: false, overviewMapControl: false, mapTypeControl: false, panControl: false, streetViewControl: false, //mapTypeControl: false, maxZoom: 19, minZoom: 7, // mapTypeControlOptions: { // mapTypeIds: [google.maps.MapTypeId.SATELLITE, "MAPT"] // }, scrollwheel: this.defscrollwheelzoom, mapTypeId: google.maps.MapTypeId.SATELLITE, draggableCursor:'pointer' }; this.gmap = new google.maps.Map(this.elmap, mapOptions); // alert(this.gmap.getBounds()); } this.addControl = addControl; function addControl(ctrl, div, pos) { ctrl.mapi = this; //this.gmap.addControl(div, pos); this.gmap.controls[pos].push(div); } this.print = print; function print() { //window.print(); } this.attachLeaveConfirmation = attachLeaveConfirmation; function attachLeaveConfirmation() { var els = document.getElementsByTagName("a"); for (var ti = 0; ti < els.length; ti++) { var el = els[ti]; if (el.rel == 'refout') { google.maps.event.addDomListener(el, "click", function(event) { imageThis.checkLeave.call(imageThis, event); }); } } } this.checkLeave = checkLeave; function checkLeave(e) { //if (this.tour.points.length > 0) { if (confirm('Opravdu si p?ejte opustit mapovou aplikaci? V?echny neulo?ené zm?ny budou ztraceny.')) { return true; } else { try { e.preventDefault(); } catch (ex) { } return false; } //} else { //return true; //} } } // map overlay - cz / sk relief function NewReliefOverlay(pssw, time) { var mapTuristLayerOverlayOptions = { getTileUrl: function(coord, zoom) { //return "http://services.tmapserver.cz/ftiles/gm/sum/"+zoom+"/"+coord.x+"/"+coord.y+".png"; return 'http://services.tmapserver.cz/stiles/gm/sum/'+zoom+'/'+coord.x+'/'+coord.y+'.png?m=s&t='+time+'&k='+pssw; }, tileSize: new google.maps.Size(256, 256), isPng: true, opacity: 1, maxZoom: 15, minZoom: 7 }; var TuristLayerOverlay = new google.maps.ImageMapType(mapTuristLayerOverlayOptions); return TuristLayerOverlay; } // map type - turist - w/o turis/cyklo function NewTileMapTuristTM(pssw, time) { var mapTuristTMOptions = { getTileUrl: function(tile, zoom) { //return "http://services.tmapserver.cz/ftiles/gm/tm/"+zoom+"/"+tile.x+"/"+tile.y+".png"; return 'http://services.tmapserver.cz/stiles/gm/tm/'+zoom+'/'+tile.x+'/'+tile.y+'.png?m=s&t='+time+'&k='+pssw; }, tileSize: new google.maps.Size(256, 256), maxZoom: 15, minZoom: 7, opacity: 1, isPng: true, name: 'MapTuristTM' }; mapTuristTMOptions.copyright = 'Data map © SHOCart, T-MAPY'; var mapTuristTMType = new google.maps.ImageMapType(mapTuristTMOptions); return mapTuristTMType; } // map type - turist function NewTileMapTurist(pssw, time) { var mapTuristOptions = { getTileUrl: function(tile, zoom) { var dir; if (zoom > 15) { dir = 'tm'; mapTuristOptions.copyright = 'Data map © SHOCart, T-MAPY'; } else { dir = 'shc'; mapTuristOptions.copyright = 'Data map © SHOCart, T-MAPY'; } //return "http://services.tmapserver.cz/ftiles/gm/shc/"+zoom+"/"+tile.x+"/"+tile.y+".png"; return 'http://services.tmapserver.cz/stiles/gm/'+dir+'/'+zoom+'/'+tile.x+'/'+tile.y+'.png?m=s&t='+time+'&k='+pssw; }, tileSize: new google.maps.Size(256, 256), maxZoom: 15, minZoom: 7, opacity: 1, isPng: true, name: 'MapTurist' }; var mapTuristType = new google.maps.ImageMapType(mapTuristOptions); //map.gmap.mapTypes.set('MAPT', map.maptypeturist); //map.gmap.setMapTypeId('MAPT'); //map.gmap.overlayMapTypes.push(tl); //map.gmap.overlayMapTypes.insertAt(0, tl); //var mt = new GMapType([tl], G_SATELLITE_MAP.getProjection(), "MAPT", {errorMessage:null}); //mt.getErrorMessage = function() { return "Pro toto p?iblí?ení není k dispozici mapový podklad.
Zkuste oddálit mapový vý?ez.
Tato mapa je navíc dostupná pouze pro ?eskou republiku a Slovensko."; }; //return mt; return mapTuristType; } // map type - OSM function NewTileMapOSM(pssw, time) { var mapTuristOSMOptions = { getTileUrl: function(tile, zoom) { return 'http://tile.openstreetmap.org/' + zoom + '/' + tile.x + '/' + tile.y + '.png'; }, tileSize: new google.maps.Size(256, 256), maxZoom: 15, minZoom: 7, opacity: 1, isPng: true, name: 'OpenStreetMap' }; mapTuristOSMOptions.copyright = '© OpenStreetMap contributors'; var mapTuristOSMType = new google.maps.ImageMapType(mapTuristOSMOptions); return mapTuristOSMType; } // map type - turist/cyklo /*function NewTileMapTuristCyklo() { }*/ // map overlay - cz / sk wms /* function NewWMSOverlay() { var tl = new GTileLayer(null, null, null, {opacity:1, isPng:true}); tl.getTileUrl = function(tile, zoom) { x1 = tile.x * 256; y1 = tile.y * 256; x2 = tile.x * 256 + 256; y2 = tile.y * 256 + 256; proj = G_NORMAL_MAP.getProjection(); gps1 = proj.fromPixelToLatLng(new GPoint(x1, y2), zoom); gps2 = proj.fromPixelToLatLng(new GPoint(x2, y1), zoom); cs = gps1.lng() + '/' + gps1.lat() + '/' + gps2.lng() + '/' + gps2.lat(); var url = "http://www.kamennimuzici.cz/mapa/wmstile.php?c=" + cs; return url; }; tl.minResolution = function() { return 7; }; tl.maxResolution = function() { return 19; }; tl.isPng = function() { return true; }; tl.getOpacity = function() { return 1; } tl.getCopyright = function() { return ""; } var tlo = new GTileLayerOverlay(tl, null); return tlo; } */