// ==UserScript== // @name WME GAIA // @name:es WME GAIA - Todos al GAIA + OpenStreet // @version 1.1 // @description WME Ir a GaiaMDM. Redirecciona a la página de GAIA MDM en la posición actual haciendo clic en la etiqueta de coordenadas de WME. // @description:es WME Go to GaiaMDM - Todos al GAIA te lleva a la posicion en el mapa de GAIA pa que no tengas que hacer tantos clicks. // @author GWM_ // @include https://www.waze.com/editor/* // @include https://www.waze.com/*/editor/* // @include https://beta.waze.com/* // @exclude https://www.waze.com/user/editor* // @grant none // @license GPLv3 // @namespace https://greasyfork.org/es/users/1362250-gwm // @downloadURL none // ==/UserScript== (function() { function bootstrap(tries) { tries = tries || 1; if (window.W && window.W.map && window.W.model && $) { init(); } else if (tries < 1000) { setTimeout(function () {bootstrap(tries++);}, 200); } } bootstrap(); function init(){ createLinks(); console.log("WME G2GMDM + OSM v1.3 está corriendo."); } // Crea enlaces tanto para Gaia como para OpenStreetMap function createLinks(){ createLinkGaia(); createLinkOSM(); } // Agrega enlace a Gaia function createLinkGaia(){ const $gaiaLink = $(""); $gaiaLink[0].onclick = go2GMDM; $(".WazeControlPermalink").append($gaiaLink); } // Abre Gaia en la posición actual function go2GMDM(){ const link = $(".permalink")[0].href; const lat = getQueryString(link, 'lat'); const lon = getQueryString(link, 'lon'); const zoom = getQueryString(link, 'zoom'); if (lat && lon && zoom) { const encodedCoords = btoa(`lat:${lat},lon:${lon},z:${parseInt(zoom)+8}`); window.open(`http://gaia.inegi.org.mx/mdm6/?v=${encodedCoords}`); } else { alert("Error: Coordenadas no encontradas."); } } // Agrega enlace a OpenStreetMap function createLinkOSM(){ const $osmLink = $(""); $osmLink[0].onclick = go2OSM; $(".WazeControlPermalink").append($osmLink); } // Abre OpenStreetMap en la posición actual function go2OSM(){ const link = $(".permalink")[0].href; const lat = getQueryString(link, 'lat'); const lon = getQueryString(link, 'lon'); if (lat && lon) { window.open(`https://www.openstreetmap.org/?mlat=${lat}&mlon=${lon}&zoom=14`); } else { alert("Error: Coordenadas no encontradas."); } } // Función para obtener los parámetros del permalink function getQueryString(link, name){ const pos = link.indexOf( name + '=' ) + name.length + 1; const len = link.substr(pos).indexOf('&'); if (len === -1) return link.substr(pos); return link.substr(pos,len); } })();