您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Highlights un-nudged house numbers
当前为
// ==UserScript== // @name WME HN Tool // @description Highlights un-nudged house numbers // @version 1.20.1 // @author SAR85 // @copyright SAR85 // @license CC BY-NC-ND // @grant none // @include https://www.waze.com/editor/* // @include https://www.waze.com/*/editor/* // @include https://editor-beta.waze.com/* // @namespace https://greasyfork.org/users/9321 // @require https://greasyfork.org/scripts/9794-wlib/code/wLib.js?version=76145 // ==/UserScript== /* global W */ /* global wLib */ (function () { var hnMarkerLayer, messageBar; function highlightUntouched(retryCount) { 'use strict'; var i, n, marker, hnMarkers; retryCount = retryCount || 0; hnMarkers = hnMarkerLayer.markers; if (hnMarkers.length === 0) { if (retryCount < 1000) { setTimeout(function () { highlightUntouched(++retryCount); }, 10); } else { console.debug('HN Tool: HN markers not found. Giving up.'); return; } } for (i = 0, n = hnMarkers.length; i < n; i++) { marker = hnMarkers[i]; if (marker.model && null === marker.model.updatedBy) { marker.icon.$div.find('.uneditable-number').css('background-color', '#FFAD85'); marker.inputWrapper.css('background-color', '#FFAD85'); } } } function checkForHNLayer() { 'use strict'; var layers = W.map.getLayersByName('houseNumberMarkers'); if (layers.length > 0) { hnMarkerLayer = layers[0]; highlightUntouched(); } } function updateAlert() { 'use strict'; var hnVersion = '1.20.1', alertOnUpdate = true, versionChanges = 'WME Highlight HNs has been updated to ' + hnVersion + '.\n'; versionChanges += 'Changes:\n'; versionChanges += '[*]Highlighting is re-applied after editing HNs.\n'; if (alertOnUpdate && window.localStorage && window.localStorage.hnVersion !== hnVersion) { window.localStorage.hnVersion = hnVersion; alert(versionChanges); } } function hnInit() { 'use strict'; W.map.events.register('addlayer', this, checkForHNLayer); W.vent.on('operationDone', checkForHNLayer); messageBar = new wLib.Interface.MessageBar({ messagePrefix: 'WME HN Tool:' }); console.debug('HN Tool: Initialized.'); updateAlert(); } function hnBootstrap(count) { 'use strict'; count = count || 0; if ('undefined' !== typeof wLib && 'undefined' !== typeof W && 'undefined' !== typeof W.map && 'undefined' !== typeof W.map.events && 'undefined' !== typeof W.map.events.register && 'undefined' !== typeof W.vent && 'undefined' !== typeof W.vent.on) { console.debug('HN Tool: Initializing...'); window.setTimeout(hnInit, 100); } else if (count < 10) { console.debug('HN Tool: Bootstrap failed. Trying again...'); window.setTimeout(function () { hnBootstrap(++count); }, 1000); } else { console.error('HN Tool: Bootstrap error.'); } } console.debug('HN Tool: Bootstrap...'); window.setTimeout(hnBootstrap, 100); } ());