您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
[Google Map Street View] Show current street view location on the 2D map
// ==UserScript== // @name Steet2Map (show the location of street view on Google Maps! / 將Google地圖的街景位置傳送至2D地圖上!) // @namespace com.Dogkiller87 // @version 0.3 // @description [Google Map Street View] Show current street view location on the 2D map // @author Dogkiller87 // @include /^https?://www\.google\.com.*/maps/.*/ // @icon https://www.google.com/images/branding/product/ico/maps15_bnuw3a_32dp.ico // @grant GM_getValue // @grant GM_registerMenuCommand // @require https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js // @run-at document-end // ==/UserScript== function toDMS(coordinate) { var absolute = Math.abs(coordinate); var degrees_i = Math.floor(absolute); var minutes_f = (absolute - degrees_i) * 60; var minutes_i = Math.floor(minutes_f); var seconds = ((minutes_f - minutes_i) * 60).toFixed(1); return degrees_i + "°" + minutes_i + "'" + seconds; } function cDMS(lat, lng) { var latitude = toDMS(lat); var latitudeNS = lat >= 0 ? "N" : "S"; var longitude = toDMS(lng); var longitudeEW = lng >= 0 ? "E" : "W"; return latitude + '\"' + latitudeNS + '+' + longitude + '\"' + longitudeEW; } function showMap() { var url = document.location.href; if (!url.includes('/place/') && url.includes('@')) { var coord = url.split('/')[4].substr(1).split(','); var combine = cDMS(coord[0], coord[1]) + '/@' + coord[0] + ',' + coord[1]; var parameters = url.substr(url.indexOf('?')); document.location.href = 'https://www.google.com.tw/maps/place/' + combine + parameters; } } const checkElement = async selector => { while ( document.querySelector(selector) === null) { await new Promise( resolve => requestAnimationFrame(resolve) ) } return document.querySelector(selector); } const callback = function(mutationsList, observer) { // Use traditional 'for loops' for IE 11 for(let mutation of mutationsList) { console.log('The ' + mutation.attributeName + ' attribute was modified.'); } // close.__jsaction.click = ''; //var clone = close.cloneNode(true); // close = clone; } function attachJob(close) { const observer = new MutationObserver(callback); const config = { attributes: true }; observer.observe(close, config); } (function() { 'use strict'; var close; checkElement('#image-header > div > button').then(element => { attachJob(element); }); //const config = { attributes: true }; //const observer = new MutationObserver(callback); //observer.observe(close, config); /* GM_registerMenuCommand("Show on map", showMap);*/ })();