您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Displays geodesic segment length in feet & meters
// ==UserScript== // @name WME True Segment Length // @namespace https://gf.qytechs.cn/users/30701-justins83-waze // @version 2024.06.21.01 // @description Displays geodesic segment length in feet & meters // @author JustinS83 // @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 // @require https://gf.qytechs.cn/scripts/24851-wazewrap/code/WazeWrap.js // @license GPLv3 // ==/UserScript== /* global W */ /* global OL */ /* ecmaVersion 2017 */ /* global $ */ /* global _ */ /* global WazeWrap */ /* eslint curly: ["warn", "multi-or-nest"] */ (function() { function bootstrap(tries=1) { if (W && W.map && W.model && $ && WazeWrap.Ready) init(); else if (tries < 1000) setTimeout(function () {bootstrap(++tries);}, 200); } bootstrap(); function init(){ W.selectionManager.events.register("selectionchanged", null, waitAndUpdate); W.model.actionManager.events.register("afteraction",null, updateDisplay); W.model.actionManager.events.register("afterundoaction",null, updateDisplay); W.model.actionManager.events.register("afterclearactions",null, updateDisplay); W.model.actionManager.events.register("noActions",null, waitAndUpdate); console.log("WME True Segment Length" + GM_info.script.version); } async function waitAndUpdate(){ await new Promise(r => setTimeout(r, 150)); updateDisplay(); } function updateDisplay(){ var count = WazeWrap.getSelectedDataModelObjects().length; var metersLength = 0; var bold = false; if(count > 0){ for(let i=0;i<count;i++){ let seg = WazeWrap.getSelectedDataModelObjects()[i]; if(seg.type === "segment"){ metersLength += WazeWrap.Geometry.calculateDistance(seg.getOLGeometry().components); if(!seg.isUnchanged()) bold = true; } } if(metersLength >0){ var isUSA = (typeof W.model.countries.objects[235] !== 'undefined'); var ftLength = Math.round(metersLength * 3.28084 *100)/100; var milesLength = Math.round(ftLength/5280 *1000)/1000; if(WazeWrap.getSelectedDataModelObjects()[0].attributes.id < 0){ //segment has not yet been saved var list = $('#segment-edit-general > div > ul')[0]; var newItem = document.createElement("LI"); var textnode = document.createTextNode("Length: " + metersLength +" m"); newItem.appendChild(textnode); list.insertBefore(newItem, list.childNodes[0]); if(isUSA){ newItem = document.createElement("LI"); textnode = document.createTextNode(`Length: ${ftLength} ft (${milesLength} miles)`); newItem.appendChild(textnode); list.insertBefore(newItem, list.childNodes[0]); } } else{ try { $('#segment-edit-general > div > ul > li:nth-child(1) > span')[1].innerHTML = (Math.round(metersLength*100)/100) + " m"; if($('#segment-edit-general > div > ul > li:nth-child(1) > span').length === 2 && isUSA) $('#segment-edit-general > div > ul > li:nth-child(1)').append(`<br/><span class="name">Length: </span><span class="value">${ftLength} ft</span><span class="value"> (${milesLength} miles)</span>`); if(bold){ $('#segment-edit-general > div > ul > li:nth-child(1) > span').css('font-weight', "bold"); if(isUSA) $('#segment-edit-general > div > ul > li:nth-child(2) > span').css('font-weight', "bold"); } } catch(ex) { } } } } } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址