var ScoutMapType = new google.maps.ImageMapType({ getTileUrl: function(coord, zoom) { var normalizedCoord = getNormalizedCoord(coord, zoom); if (!normalizedCoord) { return null; } var bound = Math.pow(2, zoom); return "mappa/zoom_" + zoom + "/" + normalizedCoord.x + "_" + normalizedCoord.y + ".gif"; }, tileSize: new google.maps.Size(256, 256), isPng: false, maxZoom: 7, minZoom: 3, radius: 1738000, name: "SCOUT" }); function getNormalizedCoord(coord, zoom) { var y = coord.y; var x = coord.x; // tile range in one direction range is dependent on zoom level // 0 = 1 tile, 1 = 2 tiles, 2 = 4 tiles, 3 = 8 tiles, etc var tileRange = 1 << zoom; // don't repeat across y-axis (vertically) if (y < 0 || y >= tileRange) { return null; } // don't repeat across x-axis (orizzontale) if (x < 0 || x >= tileRange) { return null; } return { x: x, y: y }; } var latlng = new google.maps.LatLng(9, 50); var myOptions = { zoom: 3, center: latlng, panControl: true, panControlOptions: { style: google.maps.ZoomControlStyle.LARGE, position: google.maps.ControlPosition.LEFT_BOTTOM }, streetViewControl: false, backgroundColor: '#F3F0DF', mapTypeControl: false, zoomControl: true, zoomControlOptions: { style: google.maps.ZoomControlStyle.LARGE, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapTypeControlOptions: { mapTypeIds: ["SCOUT"] } }; var my_map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); my_map.mapTypes.set("SCOUT", ScoutMapType); my_map.setMapTypeId("SCOUT"); // marker negozi // var icon_p2 = new google.maps.MarkerImage('img_layout/puntatore1.png', new google.maps.Size(15, 15), new google.maps.Point(0,0), new google.maps.Point(0, 15)); var icon_p3 = new google.maps.MarkerImage('img_layout/puntatore2.png', new google.maps.Size(18, 18), new google.maps.Point(0,0), new google.maps.Point(0, 18)); var icon_p4 = new google.maps.MarkerImage('img_layout/puntatore3.png', new google.maps.Size(35, 35), new google.maps.Point(0,0), new google.maps.Point(0, 35)); var icon_p5 = new google.maps.MarkerImage('img_layout/puntatore4.png', new google.maps.Size(50, 50), new google.maps.Point(0,0), new google.maps.Point(0, 50)); var icon_p6 = new google.maps.MarkerImage('img_layout/puntatore5.gif', new google.maps.Size(85, 85), new google.maps.Point(0,0), new google.maps.Point(0, 85)); // marker negozi fine // // easter eggs // var icon_ea2 = new google.maps.MarkerImage('easter_eggs/squalo_1.gif', new google.maps.Size(120, 96), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_ea3 = new google.maps.MarkerImage('easter_eggs/squalo_2.gif', new google.maps.Size(162, 130), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_ea4 = new google.maps.MarkerImage('easter_eggs/squalo_3.gif', new google.maps.Size(177, 142), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_ea5 = new google.maps.MarkerImage('easter_eggs/squalo_4.gif', new google.maps.Size(177, 142), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_ea6 = new google.maps.MarkerImage('easter_eggs/squalo_5.gif', new google.maps.Size(177, 142), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_vuota2 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(117, 94), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_vuota3 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(177, 142), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_vuota4 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(256, 205), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_vuota5 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(295, 236), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_vuota6 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(295, 236), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_girasole2 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(1, 1), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_girasole3 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(1, 1), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_girasole4 = new google.maps.MarkerImage('easter_eggs/girasole_mappa4.gif', new google.maps.Size(29, 50), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_girasole5 = new google.maps.MarkerImage('easter_eggs/girasole_mappa5.gif', new google.maps.Size(40, 70), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_girasole6 = new google.maps.MarkerImage('easter_eggs/girasole_mappa5.gif', new google.maps.Size(40, 40), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_delfino2 = new google.maps.MarkerImage('easter_eggs/delfino_mappa1.gif', new google.maps.Size(60, 63), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_delfino3 = new google.maps.MarkerImage('easter_eggs/delfino_mappa2.gif', new google.maps.Size(70, 73), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_delfino4 = new google.maps.MarkerImage('easter_eggs/delfino_mappa3.gif', new google.maps.Size(80, 83), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_delfino5 = new google.maps.MarkerImage('easter_eggs/delfino_mappa4.gif', new google.maps.Size(120, 125), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_delfino6 = new google.maps.MarkerImage('easter_eggs/delfino_mappa5.gif', new google.maps.Size(170, 177), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_vesuvio2 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(137, 150), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_vesuvio3 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(229, 250), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_vesuvio4 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(348, 380), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_vesuvio5 = new google.maps.MarkerImage('easter_eggs/vesuvio_mappa4.gif', new google.maps.Size(348, 380), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_vesuvio6 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(458, 500), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_ufo2 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(300, 105), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_ufo3 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(300, 126), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_ufo4 = new google.maps.MarkerImage('easter_eggs/ufo_mappa3.gif', new google.maps.Size(360, 126), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_ufo5 = new google.maps.MarkerImage('easter_eggs/ufo_mappa4.gif', new google.maps.Size(150, 180), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_ufo6 = new google.maps.MarkerImage('easter_eggs/ufo_mappa5.gif', new google.maps.Size(233, 280), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_turco2 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(1, 1), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_turco3 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(1, 1), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_turco4 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(1, 1), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_turco5 = new google.maps.MarkerImage('easter_eggs/turco_mappa4.gif', new google.maps.Size(380, 256), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_turco6 = new google.maps.MarkerImage('easter_eggs/turco_mappa5.gif', new google.maps.Size(650, 437), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_valanga2 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(1, 1), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_valanga3 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(1, 1), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_valanga4 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(248, 180), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_valanga5 = new google.maps.MarkerImage('easter_eggs/valanga_mappa4.gif', new google.maps.Size(373, 270), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_valanga6 = new google.maps.MarkerImage('easter_eggs/valanga_mappa5.gif', new google.maps.Size(786, 570), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_bicicletta2 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(1, 1), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_bicicletta3 = new google.maps.MarkerImage('easter_eggs/vuota.png', new google.maps.Size(1, 1), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_bicicletta4 = new google.maps.MarkerImage('easter_eggs/bicicletta_mappa4.gif', new google.maps.Size(250, 47), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_bicicletta5 = new google.maps.MarkerImage('easter_eggs/bicicletta_mappa5.gif', new google.maps.Size(304, 57), new google.maps.Point(0,0), new google.maps.Point(0, 0)); var icon_bicicletta6 = new google.maps.MarkerImage('easter_eggs/bicicletta_mappa5.gif', new google.maps.Size(304, 57), new google.maps.Point(0,0), new google.maps.Point(0, 0)); // easter eggs fine // //######################################################################################################## //qui si possono aggiunger N icone da usare con i Marker. Vedi poi sotto, al cambio zoom (zoom_changed) //######################################################################################################## /*google.maps.event.addListener(my_map, 'click', function(event){ alert(event.latLng); });*/ function mostra_marker(my_marker){ google.maps.event.trigger(my_marker, 'click'); } //DA VERIFICARE PERCHè DEVO SETTARE DOPO ONLOAD MY_MAP.SETCENTER function inizio(){ my_map.setCenter(new google.maps.LatLng(29, -10)); my_map.setZoom(3); } var infoBulle = new google.maps.InfoWindow(); var mk = new Array(); var bounds = new google.maps.LatLngBounds(); //LIMITARE LO SPOSTAMENTO ENTRO I LIMITI var allowedBounds = new google.maps.LatLngBounds( new google.maps.LatLng(-84.31889831479569, -170.543212890625), new google.maps.LatLng(83.090817564169, 150.609130859375)); // Listen for the dragend event google.maps.event.addListener(my_map, 'dragend', function() { if (allowedBounds.contains(my_map.getCenter())) return; // Out of bounds - Move the map back within the bounds var c = my_map.getCenter(), x = c.lng(), y = c.lat(), maxX = allowedBounds.getNorthEast().lng(), maxY = allowedBounds.getNorthEast().lat(), minX = allowedBounds.getSouthWest().lng(), minY = allowedBounds.getSouthWest().lat(); if (x < minX) x = minX; if (x > maxX) x = maxX; if (y < minY) y = minY; if (y > maxY) y = maxY; my_map.setCenter(new google.maps.LatLng(y, x)); }); google.maps.event.addListener(my_map, 'zoom_changed', function() { var zoom_attuale = my_map.getZoom(); //QUI ANDREBBE USATO setIcon('icon_p' + zoom_attuale); ma come diavolo.. //######################################################################################################## //Qui vanno inseriti tutti i casi di marker con icona diversa. //Esempio: //La Warehouse ha icona diversa, ed è il marker [13] // for (v1=0; v1