// ==UserScript== // @name Show Google Maps in EU Search Pages // @description Bring Maps links to Google Search result pages in the EU once again. // @namespace http://asleepysamurai.com // @license BSD Zero Clause License // @version 1 // @grant none // @match https://*.google.com/search* // @match https://*.google.ad/search* // @match https://*.google.ae/search* // @match https://*.google.com.af/search* // @match https://*.google.com.ag/search* // @match https://*.google.al/search* // @match https://*.google.am/search* // @match https://*.google.co.ao/search* // @match https://*.google.com.ar/search* // @match https://*.google.as/search* // @match https://*.google.at/search* // @match https://*.google.com.au/search* // @match https://*.google.az/search* // @match https://*.google.ba/search* // @match https://*.google.com.bd/search* // @match https://*.google.be/search* // @match https://*.google.bf/search* // @match https://*.google.bg/search* // @match https://*.google.com.bh/search* // @match https://*.google.bi/search* // @match https://*.google.bj/search* // @match https://*.google.com.bn/search* // @match https://*.google.com.bo/search* // @match https://*.google.com.br/search* // @match https://*.google.bs/search* // @match https://*.google.bt/search* // @match https://*.google.co.bw/search* // @match https://*.google.by/search* // @match https://*.google.com.bz/search* // @match https://*.google.ca/search* // @match https://*.google.cd/search* // @match https://*.google.cf/search* // @match https://*.google.cg/search* // @match https://*.google.ch/search* // @match https://*.google.ci/search* // @match https://*.google.co.ck/search* // @match https://*.google.cl/search* // @match https://*.google.cm/search* // @match https://*.google.cn/search* // @match https://*.google.com.co/search* // @match https://*.google.co.cr/search* // @match https://*.google.com.cu/search* // @match https://*.google.cv/search* // @match https://*.google.com.cy/search* // @match https://*.google.cz/search* // @match https://*.google.de/search* // @match https://*.google.dj/search* // @match https://*.google.dk/search* // @match https://*.google.dm/search* // @match https://*.google.com.do/search* // @match https://*.google.dz/search* // @match https://*.google.com.ec/search* // @match https://*.google.ee/search* // @match https://*.google.com.eg/search* // @match https://*.google.es/search* // @match https://*.google.com.et/search* // @match https://*.google.fi/search* // @match https://*.google.com.fj/search* // @match https://*.google.fm/search* // @match https://*.google.fr/search* // @match https://*.google.ga/search* // @match https://*.google.ge/search* // @match https://*.google.gg/search* // @match https://*.google.com.gh/search* // @match https://*.google.com.gi/search* // @match https://*.google.gl/search* // @match https://*.google.gm/search* // @match https://*.google.gr/search* // @match https://*.google.com.gt/search* // @match https://*.google.gy/search* // @match https://*.google.com.hk/search* // @match https://*.google.hn/search* // @match https://*.google.hr/search* // @match https://*.google.ht/search* // @match https://*.google.hu/search* // @match https://*.google.co.id/search* // @match https://*.google.ie/search* // @match https://*.google.co.il/search* // @match https://*.google.im/search* // @match https://*.google.co.in/search* // @match https://*.google.iq/search* // @match https://*.google.is/search* // @match https://*.google.it/search* // @match https://*.google.je/search* // @match https://*.google.com.jm/search* // @match https://*.google.jo/search* // @match https://*.google.co.jp/search* // @match https://*.google.co.ke/search* // @match https://*.google.com.kh/search* // @match https://*.google.ki/search* // @match https://*.google.kg/search* // @match https://*.google.co.kr/search* // @match https://*.google.com.kw/search* // @match https://*.google.kz/search* // @match https://*.google.la/search* // @match https://*.google.com.lb/search* // @match https://*.google.li/search* // @match https://*.google.lk/search* // @match https://*.google.co.ls/search* // @match https://*.google.lt/search* // @match https://*.google.lu/search* // @match https://*.google.lv/search* // @match https://*.google.com.ly/search* // @match https://*.google.co.ma/search* // @match https://*.google.md/search* // @match https://*.google.me/search* // @match https://*.google.mg/search* // @match https://*.google.mk/search* // @match https://*.google.ml/search* // @match https://*.google.com.mm/search* // @match https://*.google.mn/search* // @match https://*.google.com.mt/search* // @match https://*.google.mu/search* // @match https://*.google.mv/search* // @match https://*.google.mw/search* // @match https://*.google.com.mx/search* // @match https://*.google.com.my/search* // @match https://*.google.co.mz/search* // @match https://*.google.com.na/search* // @match https://*.google.com.ng/search* // @match https://*.google.com.ni/search* // @match https://*.google.ne/search* // @match https://*.google.nl/search* // @match https://*.google.no/search* // @match https://*.google.com.np/search* // @match https://*.google.nr/search* // @match https://*.google.nu/search* // @match https://*.google.co.nz/search* // @match https://*.google.com.om/search* // @match https://*.google.com.pa/search* // @match https://*.google.com.pe/search* // @match https://*.google.com.pg/search* // @match https://*.google.com.ph/search* // @match https://*.google.com.pk/search* // @match https://*.google.pl/search* // @match https://*.google.pn/search* // @match https://*.google.com.pr/search* // @match https://*.google.ps/search* // @match https://*.google.pt/search* // @match https://*.google.com.py/search* // @match https://*.google.com.qa/search* // @match https://*.google.ro/search* // @match https://*.google.ru/search* // @match https://*.google.rw/search* // @match https://*.google.com.sa/search* // @match https://*.google.com.sb/search* // @match https://*.google.sc/search* // @match https://*.google.se/search* // @match https://*.google.com.sg/search* // @match https://*.google.sh/search* // @match https://*.google.si/search* // @match https://*.google.sk/search* // @match https://*.google.com.sl/search* // @match https://*.google.sn/search* // @match https://*.google.so/search* // @match https://*.google.sm/search* // @match https://*.google.sr/search* // @match https://*.google.st/search* // @match https://*.google.com.sv/search* // @match https://*.google.td/search* // @match https://*.google.tg/search* // @match https://*.google.co.th/search* // @match https://*.google.com.tj/search* // @match https://*.google.tl/search* // @match https://*.google.tm/search* // @match https://*.google.tn/search* // @match https://*.google.to/search* // @match https://*.google.com.tr/search* // @match https://*.google.tt/search* // @match https://*.google.com.tw/search* // @match https://*.google.co.tz/search* // @match https://*.google.com.ua/search* // @match https://*.google.co.ug/search* // @match https://*.google.co.uk/search* // @match https://*.google.com.uy/search* // @match https://*.google.co.uz/search* // @match https://*.google.com.vc/search* // @match https://*.google.co.ve/search* // @match https://*.google.co.vi/search* // @match https://*.google.com.vn/search* // @match https://*.google.vu/search* // @match https://*.google.ws/search* // @match https://*.google.rs/search* // @match https://*.google.co.za/search* // @match https://*.google.co.zm/search* // @match https://*.google.co.zw/search* // @match https://*.google.cat/search* // @downloadURL none // ==/UserScript== // credits - https://github.com/thomasync/Bring-Back-Maps !(() => { let loaded = false; let load_timeout = 2000; function addHyperLinkMap(map, address) { if (map && address) { map.style.cursor = 'pointer'; map.addEventListener('click', () => { window.location.href = address.href; }); } } function addHyperLinkLargeMap(map, search) { if (map && search) { map.style.cursor = 'pointer'; map.addEventListener('click', () => { window.location.href = formatSearchLink(search.value); }); } } function addMapsToTabs(tabs, address, legacy) { if (!legacy) { const mapsTab = document.createElement('a'); mapsTab.innerHTML = `
Maps
`; mapsTab.className = 'nPDzT T3FoJb'; mapsTab.href = address; tabs.insertBefore(mapsTab, tabs.firstChild); } else { const mapsTab = document.createElement('div'); mapsTab.innerHTML = `
Maps
`; mapsTab.firstElementChild.href = address; tabs.insertBefore(mapsTab, tabs.children[1]); } } function formatSearchLink(search) { search = encodeURIComponent(search); return `https://www.google.com/maps/search/${search}`; } function waitLoaded() { if (loaded) { return; } if (load_timeout <= 0) { return; } app(); load_timeout -= 100; setTimeout(waitLoaded, 100); } function app() { let legacy = false; let tabs = document.querySelector('.IUOThf'); if (!tabs) { // Some of the Google domains use old UI tabs = document.querySelector('.crJ18e'); if (!tabs) { return } legacy = true; } const search = document.querySelector('textarea.gLFyf'); const map = document.querySelector('.Ggdpnf'); const address = document.querySelector('.gqkR3b a'); const largeMap = document.querySelector('.o8ebK'); if (map && address) { addHyperLinkMap(map, address); addMapsToTabs(tabs, address.href, legacy); loaded = true; } else if (largeMap && search) { addHyperLinkLargeMap(largeMap, search); addMapsToTabs(tabs, formatSearchLink(search.value), legacy); loaded = true; } } waitLoaded(); })();