1function generamappa_openlayers(param_datimappa_json, param_punti_json){ 2 3 if(!param_datimappa_json){return;} 4 5 var datimappagenerale = param_datimappa_json; 6 var datipuntiinteresse = param_punti_json; 7 var markerpuntiInteresse = new Object(); 8 9 var Mappa; 10 var idlayout = datimappagenerale['idlayout']; 11 var latitudine = datimappagenerale['latitudine']; 12 var longitudine = datimappagenerale['longitudine']; 13 var zoom = datimappagenerale['zoom']; 14 var iconaMarkerPrincipale = L.icon({iconUrl: datimappagenerale['iconaMarkerPrincipale'], iconSize: [41, 41], iconAnchor: [20, 41], popupAnchor: [0,-25]}); 15 var iconaMarkerSecondario = L.icon({iconUrl: datimappagenerale['iconaMarkerSecondario'], iconSize: [41, 41], iconAnchor: [20, 41], popupAnchor: [0,-25]}); 16 var get_tipomappa = datimappagenerale['tipomappadefault']; 17 var nomegruppo = datimappagenerale['nomegruppo']; 18 var layout_stosm = datimappagenerale['layout_stosm']; 19 var layout_stom = datimappagenerale['layout_stom']; 20 var layout_liom = datimappagenerale['layout_liom']; 21 var layout_daom = datimappagenerale['layout_daom']; 22 var layout_stgm = datimappagenerale['layout_stgm']; 23 var layout_sagm = datimappagenerale['layout_sagm']; 24 var nascondimarker = datimappagenerale['nascondimarker']; 25 var infowindowopen = datimappagenerale['infowindowopen']; 26 27 var secondarie = L.layerGroup(); 28 29 if(datipuntiinteresse.length === 0){ 30 console.log('nussun punto visualizzabile sulla mappa'); 31 return; 32 } 33 34 /***** crea gli attributi associati alla mappa *****/ 35 var attributiMappa = ''; 36 var mbUrlDefaultOpenstreetMaps = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'; 37 var mbUrlOpenMapsStreet = 'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw'; 38 var mbUrlOpenMapsLight = 'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw'; 39 var mbUrlOpenMapsDark = 'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw'; 40 var mbUrlSatelliteGM = 'https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}&s=Gal&apistyle=s.t:2|s.e:l|p.v:off'; 41 var mbUrlStandardGM = 'https://mts1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}&s=Gal&apistyle=s.t:2|s.e:l|p.v:off'; 42 43 /***** crea i tipi di mappa da visualizzare presi da mapbox *****/ 44 var standard = L.tileLayer(mbUrlDefaultOpenstreetMaps, { 45 attribution: attributiMappa 46 }); 47 48 var openmapsStreets = L.tileLayer(mbUrlOpenMapsStreet, { 49 id: 'mapbox.streets', 50 attribution: attributiMappa 51 }); 52 53 var openmapsLight = L.tileLayer(mbUrlOpenMapsLight, { 54 id: 'mapbox.light', 55 attribution: attributiMappa 56 }); 57 58 var openmapsDark = L.tileLayer(mbUrlOpenMapsDark, { 59 id: 'mapbox.dark', 60 attribution: attributiMappa 61 }); 62 63 var googlempasSatellite = L.tileLayer(mbUrlSatelliteGM, { 64 attribution: attributiMappa 65 }); 66 67 var googlemapsStreets = L.tileLayer(mbUrlStandardGM, { 68 attribution: attributiMappa 69 }); 70 71 var tipomappadefault; 72 if(get_tipomappa === "stosm"){tipomappadefault = standard;} 73 else if(get_tipomappa === "stom"){tipomappadefault = openmapsStreets;} 74 else if(get_tipomappa === "liom"){tipomappadefault = openmapsLight;} 75 else if(get_tipomappa === "daom"){tipomappadefault = openmapsDark;} 76 else if(get_tipomappa === "stgm"){tipomappadefault = googlemapsStreets;} 77 else if(get_tipomappa === "sagm"){tipomappadefault = googlempasSatellite;} 78 else{ tipomappadefault = standard;} 79 80 /***** Cicla i Marker/Punti e aggiunge solo i punti secondari *****/ 81 var secondarie = L.layerGroup(); 82 var npuntisecondari = 0; 83 84 datipuntiinteresse.forEach(function(punto){ 85 var coordinate = punto['geo']; 86 var testopupup = punto['testo']; 87 var tipopunto = punto['tipo']; 88 89 if(tipopunto === "secondario"){ 90 npuntisecondari++; 91 var popup = new L.Popup({'autoClose':false}).setLatLng(coordinate).setContent(testopupup); 92 var markerpunto = new L.marker(coordinate, {icon: iconaMarkerSecondario}).addTo(secondarie).bindPopup(popup); 93 } 94 }); 95 96 /***** Crea la mappa generale *****/ 97 var map = L.map(idlayout, { 98 center: [latitudine, longitudine], 99 zoom: zoom, 100 layers: [tipomappadefault, secondarie] 101 }); 102 103 /***** Disabilita lo zoom tramite scroll *****/ 104 map.scrollWheelZoom.disable(); 105 106 /***** Cicla i Marker/Punti e aggiunge solo i punti principali *****/ 107 datipuntiinteresse.forEach(function(punto){ 108 var coordinate = punto['geo']; 109 var testopupup = punto['testo']; 110 var tipopunto = punto['tipo']; 111 var labelpunto = punto['label']; 112 113 if(tipopunto === "principale"){ 114 var popup = new L.Popup({'autoClose':false}).setLatLng(coordinate).setContent(testopupup); 115 if(infowindowopen){ 116 var markerpunto = L.marker(coordinate, {icon: iconaMarkerPrincipale}).addTo(map).bindPopup(popup).openPopup(); 117 } 118 else{ 119 var markerpunto = L.marker(coordinate, {icon: iconaMarkerPrincipale}).addTo(map).bindPopup(popup); 120 } 121 markerpuntiInteresse[labelpunto] = markerpunto; 122 } 123 }); 124 125 /***** Crea il controllo laterale del cambio del tipo di mappa *****/ 126 127 var layersMappe = []; 128 if(layout_stosm){ layersMappe["<span class='checklayout' data-id='stosm'>Street</span>"] = standard; } 129 if(layout_stom){ layersMappe["<span class='checklayout' data-id='stom'>Ibrida</span>"] = openmapsStreets; } 130 if(layout_liom){ layersMappe["<span class='checklayout' data-id='liom'>Light</span>"] = openmapsLight; } 131 if(layout_daom){ layersMappe["<span class='checklayout' data-id='daom'>Dark</span>"] = openmapsDark; } 132 if(layout_stgm){ layersMappe["<span class='checklayout' data-id='stgm'>Mappa</span>"] = googlemapsStreets; } 133 if(layout_sagm){ layersMappe["<span class='checklayout' data-id='sagm'>Satellite</span>"] = googlempasSatellite; } 134 135 if(npuntisecondari > 0 && nascondimarker){ 136 markerpuntiInteresse[nomegruppo] = secondarie; 137 } 138 else{ 139 markerpuntiInteresse = null; 140 } 141 142 L.control.layers(layersMappe, markerpuntiInteresse).addTo(map); 143}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.