var map = null; var latActual; var lngActual; var marker = null; var markerCapa = null; var infoWindow; var infoWindowPunto; var pdrs; var tipo_edificio_pt = ['-', 'Na superf\u00EDcie', 'No estacionamento', 'No aeroporto', 'No acampamento', 'No hotel', 'No restaurante', 'Na loja', 'Na oficina', 'Na esta\u00E7\u00E3o de servi\u00E7o', 'Na concession\u00E1ria','No centro comercial', 'Em particular do usu\u00E1rio' , 'Reservado para t\u00E1xis','Desconhecido']; var tipo_edificio_es = ['-', 'En superficie', 'En parking', 'En aeropuerto', 'En camping', 'En hotel', 'En restaurante', 'En tienda', 'En taller', 'En estación de servicio', 'En concesionario', 'En centro comercial' , 'Particular de usuario','Reservado para Taxis', 'Desconocido']; var tipo_energia_pt = ['Origem desconhecida', 'Renov\u00E1vel', 'N\u00E3o-renov\u00E1vel']; var tipo_energia_es = ['Desconocida', 'Renovable', 'No renovable']; var room = 1; var roomEdit = 1; function initMap() { infoWindow = new google.maps.InfoWindow; map = new google.maps.Map(document.getElementById('map-visor'), { center : {lat: 37.1847263, lng: -6.9862084}, zoom : 8, controlSize: 25, gestureHandling: 'greedy', disableDefaultUI: true }); geolocalizarUserYCentrar(); pdrs = new gestionPDRS(); pdrs.inicializar(); gestionEventosSobreElMap(); autobusqueda(map,"origen"); autobusqueda(map,"destino"); } function gestionEventosSobreElMap(){ google.maps.event.addListener(infoWindow,'domready',function(){ $('.justified-gallery').justifiedGallery({ rowHeight : 70, lastRow : 'nojustify', margins : 3 }).on('jg.complete', function () { $(this).find('a').colorbox({ rel:'group1', maxWidth : '80%', maxHeight : '80%', opacity : 0.8, transition : 'elastic', current : '', preloading : true }); }); }); google.maps.event.addListener(map, "click", function(event) { if( infoWindow ) { infoWindow.close(); } }); } function geolocalizarUserYCentrar(){ if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { var pos = { lat: position.coords.latitude, lng: position.coords.longitude }; map.setCenter(pos); }, function() { handleLocationError(true, infoWindow, map.getCenter()); }); } else { handleLocationError(false, infoWindow, map.getCenter()); } } function setMapOnAll(map,id) { res = false; puntos = pdrs.pdrs; if (id != 1){ puntos = dataLayers.filter(function(obj) { return obj.idCapa == id; })[0].markerList; } for (var i = 0; i < puntos.length; i++) { puntos[i].setMap(map); res = true; } return res; } function changeBonsai(){ var idCapa; var checked; $("[id^='bonsai-check']").on("change", function(){ idCapa = this.value; checked = $(this).is(":checked"); setMapOnAll(checked? map : null , idCapa); $('#capas-disponibles').bonsai('update'); }); } function sharePoint() { var url = new URL(window.location.href); if (window.location.href.indexOf("id") > -1) { var id_pt = url.searchParams.get("id"); var tipo_pt = url.searchParams.get("tipo"); var capa; var ruta; if(url.searchParams.get("c") != null) capa = url.searchParams.get("c"); if(url.searchParams.get("r") != null) ruta = url.searchParams.get("r"); if(tipo_pt == 1){ var checked = $("input[value=1]").prop('checked'); if(checked == false){ $("input[value=1]").click(); } pdrs.pdrs.filter(function(pdr){ if (pdr.metadata.id_pdr == id_pt){ google.maps.event.trigger(pdr, 'click'); } }); }else if(tipo_pt == 2){ var checked = $("input[value="+capa+"]").prop('checked'); if(checked == false){ $("input[value="+capa+"]").click(); } for(var i = 0; i< dataLayers.length; i++) { if(dataLayers[i].idCapa == capa){ for(var j = 0; j 0) { rutas.forEach(function(r,i) { if(r.id == id_pt) { rutas[i].share=true; } }); } } } } function changeBonsaiRutas(){ var idRuta; var checked; $("[data-ruta^='data-ruta']").on("change", function(){ idRuta = this.getElementsByTagName('input')[0].value; rutaEncontrada = rutas.filter(function(obj){ return obj.id == idRuta; })[0]; if(rutaEncontrada == null){ rutaEncontrada = new gestionRuta(); rutaEncontrada.inicializar(idRuta); rutaEncontrada.renderizar(); rutaEncontrada.centrar(); rutas.push(rutaEncontrada); }else{ rutaEncontrada.alternar(); rutaEncontrada.centrar(); } $('#rutas-verdes').bonsai('update'); }); } function jsonListDiv(idDiv , url, isCapa) { $(idDiv).jsonList({ url: url, type: 'groupedItems', groups: 'locationGroups', items: 'locations', onListItem: function(event, listItem, data, isGroup) { if (data.activa === 1) { listItem.attr('data-checked', true); } listItem.attr('data-value', data.id); if (!isCapa) { listItem.attr('data-ruta', 'data-ruta'); } }, onSuccess: function(event, jsonList) { $(this.el).find('> ol').bonsai({ checkboxes: true, createInputs: 'checkbox', handleDuplicateCheckboxes: true, expandAll: true }); if (isCapa) { obtenerCapas(); changeBonsai(); } else{ obtenerRutas(); changeBonsaiRutas(); sharePoint(); } } }); } function handleLocationError(browserHasGeolocation, infoWindow, pos) { console.log(browserHasGeolocation ? 'Error: el servicio de geolocalización ha fallado.' : 'Error: tu navegador no puede geolocalizar.'); } function showMsgPdr(action,msg){ if(action == 1){ var headMSG; if(userRol == 'ROLE_ADMIN'){headMSG = 'PDR añadido'}else{'PDR enviado a revisión'} $.toast({ heading: headMSG, text: msg, position: 'top-right', loaderBg:'#ff6849', icon: 'success', hideAfter: 2500, stack: 1 }); }else if(action == 2){ $.toast({ heading: 'PDR editado', text: msg, position: 'top-right', loaderBg:'#ff6849', icon: 'success', hideAfter: 4000, stack: 1 }); }else{ $.toast({ heading: 'PDR eliminado', text: msg, position: 'top-right', loaderBg:'#ff6849', icon: 'success', hideAfter: 4000, stack: 1 }); } } function showMsgPuntoCapa(action,msg){ if(action == 1){ $.toast({ heading: 'PUNTO añadido', text: msg, position: 'top-right', loaderBg:'#ff6849', icon: 'success', hideAfter: 2500, stack: 1 }); }else if(action == 2){ $.toast({ heading: 'PUNTO editado', text: msg, position: 'top-right', loaderBg:'#ff6849', icon: 'success', hideAfter: 4000, stack: 1 }); }else{ $.toast({ heading: 'PUNTO eliminado', text: msg, position: 'top-right', loaderBg:'#ff6849', icon: 'success', hideAfter: 4000, stack: 1 }); } function showMsgCtr(msg){ var headMSG; if(userRol == 'ROLE_ADMIN'){headMSG = 'Contribución añadida'}else{'Contribución enviada para revisión'} $.toast({ heading: headMSG, text: msg, position: 'top-right', loaderBg:'#ff6849', icon: 'success', hideAfter: 4000, stack: 1 }); } function showErrorModal(msg, idError) { var $h1 = ""; $h1 += "
"; $h1 += "
Han ocurrido los siguientes errores: "; $h1 += "
"+msg+""; $h1 += "
"; $h1 += "
"; $(""+idError+"").append($h1); $(""+idError+"").focus(); } function successModal(msg, redirect) { var time = 3000; $.toast({ heading: '¡ Modificación realizada !', text: msg, position: 'top-right', loaderBg:'#ff6849', icon: 'success', hideAfter: time, stack: 6 }); setTimeout(function(){ window.location = redirect; }, time); } }