您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
将百度坐标转换后跳转谷歌地图,并支持复制坐标
// ==UserScript== // @name 百度坐标转谷歌+复制 // @namespace http://tampermonkey.net/ // @version 1.2 // @description 将百度坐标转换后跳转谷歌地图,并支持复制坐标 // @author Dost51552 // @license MIT // @match https://lbs.baidu.com/maptool/getpoint* // @grant none // @icon https://maps.google.com/favicon.ico // ==/UserScript== (function() { 'use strict'; // BD09 → GCJ02 转换 function bd09togcj02(bd_lng, bd_lat) { const x = bd_lng - 0.0065; const y = bd_lat - 0.006; const z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * Math.PI); const theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * Math.PI); const gg_lng = z * Math.cos(theta); const gg_lat = z * Math.sin(theta); return [gg_lng, gg_lat]; } function addButtons() { const coordDiv = document.querySelector('.src-pages-maptool-getpoint-styles-index__CoordintesText'); if (!coordDiv || document.getElementById('jumpGoogleBtn')) return; // 包裹按钮的容器 const btnBox = document.createElement('span'); btnBox.style.marginLeft = '8px'; // 谷歌按钮 const googleBtn = document.createElement('button'); googleBtn.id = 'jumpGoogleBtn'; googleBtn.textContent = '谷歌'; googleBtn.style.display = 'inline-block'; googleBtn.style.marginRight = '6px'; googleBtn.style.cursor = 'pointer'; googleBtn.style.padding = '2px 8px'; googleBtn.style.borderRadius = '4px'; googleBtn.style.background = '#4285F4'; googleBtn.style.color = '#fff'; googleBtn.style.border = 'none'; googleBtn.style.fontSize = '12px'; googleBtn.onclick = () => { const coords = coordDiv.textContent.trim().split(','); if (coords.length === 2) { const bd_lng = parseFloat(coords[0]); const bd_lat = parseFloat(coords[1]); const [lng, lat] = bd09togcj02(bd_lng, bd_lat); const url = `https://www.google.com/maps?q=${lat},${lng}`; window.open(url, '_blank'); } }; // 复制按钮 const copyBtn = document.createElement('button'); copyBtn.id = 'copyCoordBtn'; copyBtn.textContent = '复制'; copyBtn.style.display = 'inline-block'; copyBtn.style.cursor = 'pointer'; copyBtn.style.padding = '2px 8px'; copyBtn.style.borderRadius = '4px'; copyBtn.style.background = '#34A853'; copyBtn.style.color = '#fff'; copyBtn.style.border = 'none'; copyBtn.style.fontSize = '12px'; copyBtn.onclick = async () => { try { await navigator.clipboard.writeText(coordDiv.textContent.trim()); copyBtn.textContent = '已复制'; setTimeout(() => copyBtn.textContent = '复制', 1500); } catch (e) { alert('复制失败'); } }; // 组装 btnBox.appendChild(googleBtn); btnBox.appendChild(copyBtn); coordDiv.parentNode.appendChild(btnBox); } setInterval(addButtons, 500); })();