// -------------------------------------------------------------- // Icon for the red square displayed with the mouse wheel zoom var baseIcon = new GIcon(); baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png"; baseIcon.iconSize = new GSize(20, 34); baseIcon.shadowSize = new GSize(37, 34); baseIcon.iconAnchor = new GPoint(9, 34); baseIcon.infoWindowAnchor = new GPoint(9, 2); baseIcon.infoShadowAnchor = new GPoint(18, 25); var rectIcon = new GIcon(baseIcon, "http://www.ekopobyt.cz/img/gmaps/rect.png", null); // Global variables used with the mouse wheel zoom var mouseLatLng; var zoomRect; // -------------------------------------------------------------- var map; var container; var opacity = 0.4; var NormalLayer = G_NORMAL_MAP.getTileLayers()[0] var SatelliteLayer = G_SATELLITE_MAP.getTileLayers()[0] var satProj = G_SATELLITE_MAP.getProjection(); var normalProj = G_NORMAL_MAP.getProjection(); //var cRight = new GCopyrightCollection('Marcelo'); //var copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(-90, -180), new GLatLng(90, 180)), 0, "Marcelo©2006"); //cRight.addCopyright(copyright); // Defaults -------------------------------------------- var zoom = 6; var centerPoint = new GLatLng(49.9501911015,15.8751153946); var wheelZooming = false; function load() { doLoad(); container = document.getElementById("map_canvas"); } function initialize() { if (GBrowserIsCompatible()) { container = document.getElementById("map_canvas"); resizeMap(); map = new GMap2(container, {draggableCursor:"crosshair"}); //container.firstChild.nextSibling.firstChild.nextSibling.target = '_blank'; map.setCenter(centerPoint, zoom); map.setCenter(centerPoint, zoom); map.addControl(new GScaleControl()); map.addControl(new GLargeMapControl()); //map.addControl(new GMapTypeControl()); GEvent.addListener(map, 'mousemove', mouseMove); GEvent.addListener(map, "moveend", moveEnd); GEvent.addListener(map, "zoomend", zoomEnd); if (true) { map.setMapType(G_PHYSICAL_MAP); } if (false) { var ovcontrol = new GOverviewMapControl(new GSize(120,80)); map.addControl(ovcontrol); var ov_map = ovcontrol.getOverviewMap(); GEvent.addListener(map, 'maptypechanged', function(){ ov_map.setMapType(G_NORMAL_MAP); }); } function createMarker(point, index, caption, img, url) { // Create a lettered icon for this point using our icon class var letter = String.fromCharCode("A".charCodeAt(0) + index); var letteredIcon = new GIcon(baseIcon); letteredIcon.image = "http://www.ekopobyt.cz/img/gmaps/markerA.png"; // Set up our GMarkerOptions object markerOptions = { icon:letteredIcon }; var marker = new GMarker(point, markerOptions); GEvent.addListener(marker, "click", function() { var html = ""; if (url.length > 0) html = html + "" + caption + ""; else html = html + caption; //marker.openInfoWindowHtml(html); marker.openInfoWindowHtml(html); }); return marker; } GEvent.addListener(map, "click", function(overlay, point) { if (overlay){ //marker clicked! } else document.getElementById('coordinates').value = point.x + ',' + point.y; }); var content0 = '
'; var label0 = new TLabel(); label0.id = 'label0'; label0.anchorLatLng = new GLatLng (49.268617,15.703368); label0.anchorPoint = 'bottomLeft'; label0.content = content0; label0.percentOpacity = 80; map.addTLabel(label0);var content1 = ''; var label1 = new TLabel(); label1.id = 'label1'; label1.anchorLatLng = new GLatLng (50.849792,15.083581); label1.anchorPoint = 'bottomLeft'; label1.content = content1; label1.percentOpacity = 80; map.addTLabel(label1);var content2 = ''; var label2 = new TLabel(); label2.id = 'label2'; label2.anchorLatLng = new GLatLng (49.639241,17.202609); label2.anchorPoint = 'bottomLeft'; label2.content = content2; label2.percentOpacity = 80; map.addTLabel(label2);var content3 = ''; var label3 = new TLabel(); label3.id = 'label3'; label3.anchorLatLng = new GLatLng (49.364350,16.828098); label3.anchorPoint = 'bottomLeft'; label3.content = content3; label3.percentOpacity = 80; map.addTLabel(label3);var content4 = ''; var label4 = new TLabel(); label4.id = 'label4'; label4.anchorLatLng = new GLatLng (49.988670,16.283200); label4.anchorPoint = 'bottomLeft'; label4.content = content4; label4.percentOpacity = 80; map.addTLabel(label4);var content6 = ''; var label6 = new TLabel(); label6.id = 'label6'; label6.anchorLatLng = new GLatLng (50.658010,15.821750); label6.anchorPoint = 'bottomLeft'; label6.content = content6; label6.percentOpacity = 80; map.addTLabel(label6);var content7 = ''; var label7 = new TLabel(); label7.id = 'label7'; label7.anchorLatLng = new GLatLng (50.037146081125904,13.870325088500977); label7.anchorPoint = 'bottomLeft'; label7.content = content7; label7.percentOpacity = 80; map.addTLabel(label7);var content8 = ''; var label8 = new TLabel(); label8.id = 'label8'; label8.anchorLatLng = new GLatLng (49.05059020297236,17.879905700683594); label8.anchorPoint = 'bottomLeft'; label8.content = content8; label8.percentOpacity = 80; map.addTLabel(label8);var content9 = ''; var label9 = new TLabel(); label9.id = 'label9'; label9.anchorLatLng = new GLatLng (50.1891667,14.1552778); label9.anchorPoint = 'bottomLeft'; label9.content = content9; label9.percentOpacity = 80; map.addTLabel(label9); updateStatusBar(); // Mouse wheel zoom - Attach event handlers ----- map.enableDoubleClickZoom(); map.enableContinuousZoom(); GEvent.addDomListener(container, "DOMMouseScroll", wheelZoom); GEvent.addDomListener(container, "mousewheel", wheelZoom); // ---------------------------------------------- } } // Mouse wheel zoom - Event handler ----- function wheelZoom(event) { if (wheelZooming) { return; } wheelZooming = true; // zoomRect and rectIcon are global variables!!! zoomRect = new GMarker(mouseLatLng,{icon:rectIcon}); map.addOverlay(zoomRect); if (event.cancelable) { event.preventDefault(); } map.closeInfoWindow(); if((event.detail || -event.wheelDelta) < 0) { window.setTimeout(function(){ map.removeOverlay(zoomRect); map.zoomIn(mouseLatLng,true,true); wheelZooming = false; },200); } else { window.setTimeout(function(){ map.removeOverlay(zoomRect); map.zoomOut(mouseLatLng,true); wheelZooming = false; },200); } return false; } // End event handler ----- // Nothing related to mouse wheel zoom below this line --------------------------- function moveEnd() { updateStatusBar(); } function zoomEnd(oldZ,zoom) { updateStatusBar(); } function updateStatusBar() { var center = map.getCenter(); var zoom = map.getZoom(); var bounds = map.getBounds(); var SW = bounds.getSouthWest(); var NE = bounds.getNorthEast(); var oCoords = document.getElementById("coords"); oCoords.innerHTML = 'Map center: (' + center.y.toFixed(6) + ',' + center.x.toFixed(6) + ') - zoom: ' + zoom; oCoords.innerHTML += '