您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replace Google Maps with OpenStreetMap on Metafilter
当前为
// ==UserScript== // @name Mefi OSM // @namespace exp?zworp! // @version 0.666 // @description Replace Google Maps with OpenStreetMap on Metafilter // @author farlukar // @match https://www.metafilter.com/user/* // @match https://irl.metafilter.com/* // @grant none // ==/UserScript== // link in user profile if (document.URL.match(/https:\/\/www.metafilter.com\/user\/*/)) { var mapLink = document.evaluate("//a[@title='View on Google Maps']",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); var coordinates = String(mapLink.snapshotItem(0)).replace(/.*ll=([^&]*)&.*/,"\$1").split(','); mapLink.snapshotItem(0).href = "https://www.openstreetmap.org/?mlat=" + coordinates[0] + "&mlon=" + coordinates[1] + "#map=4/" + coordinates[0] + "/" + coordinates[1]; mapLink.snapshotItem(0).title = "View on OpenStreetMap"; } // map in irl if (document.URL.match(/https:\/\/irl.metafilter.com\/*/)) { var address = document.evaluate("//div[@id='address']/a",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null); var ll = String(address.snapshotItem(0)).split('@'); var coordinates = ll[1].split(','); var lat = Number(coordinates[0]); var lon = Number(coordinates[1]); var toplat = String(lat + 0.005); var bottomlat = String(lat - 0.005); var leftlon = String(lon - 0.013); var rightlon = String(lon + 0.013); var lat = String(lat); var lon = String(lon); var showMap = document.getElementById("map"); showMap.innerHTML = "<iframe width='580' height='200' frameborder='0' scrolling='no' style='margin:0' src='https://www.openstreetmap.org/export/embed.html?bbox=" + leftlon + "," + bottomlat + "," + rightlon +"," + toplat + "&marker=" + lat + "," + lon + "'></iframe>"; address.snapshotItem(0).href = "https://www.openstreetmap.org/directions?engine=osrm_car&route=;" + lat + "," + lon + "#map=12/" + lat + "/" +lon; }