- // ==UserScript==
- // @name Zoom Shortcuts
- // @namespace https://gf.qytechs.cn/users/30701-justins83-waze
- // @version 2022.08.17.01
- // @description Adds configurable shortcuts for all zoom levels
- // @author JustinS83
- // @include https://www.waze.com/editor*
- // @include https://www.waze.com/*/editor*
- // @include https://beta.waze.com/editor*
- // @include https://beta.waze.com/*/editor*
- // @exclude https://www.waze.com/*user/editor*
- // @grant none
- // @require https://gf.qytechs.cn/scripts/24851-wazewrap/code/WazeWrap.js
- // @contributionURL https://github.com/WazeDev/Thank-The-Authors
- // ==/UserScript==
-
- /* global W */
- /* ecmaVersion 2017 */
- /* global $ */
- /* global WazeWrap */
- /* eslint curly: ["warn", "multi-or-nest"] */
-
- (function() {
- 'use strict';
-
- var settings = {};
-
- function bootstrap(tries = 1) {
- if (W &&
- W.map &&
- W.model &&
- W.loginManager.user &&
- $ && WazeWrap.Ready)
- init();
- else if (tries < 1000)
- setTimeout(function () {bootstrap(++tries);}, 200);
- }
-
- bootstrap();
-
- function init(){
- loadSettings();
- new WazeWrap.Interface.Shortcut('ZoomNew10Shortcut', 'Zoom to 10', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.ZoomNew10Shortcut, function(){W.map.olMap.zoomTo(10);}, null).add();
- new WazeWrap.Interface.Shortcut('ZoomNew11Shortcut', 'Zoom to 11', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.ZoomNew11Shortcut, function(){W.map.olMap.zoomTo(11);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom0Shortcut', 'Zoom to 12 (old 0)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom0Shortcut, function(){W.map.olMap.zoomTo(0+12);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom1Shortcut', 'Zoom to 13 (old 1)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom1Shortcut, function(){W.map.olMap.zoomTo(1+12);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom2Shortcut', 'Zoom to 14 (old 2)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom2Shortcut, function(){W.map.olMap.zoomTo(2+12);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom3Shortcut', 'Zoom to 15 (old 3)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom3Shortcut, function(){W.map.olMap.zoomTo(3+12);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom4Shortcut', 'Zoom to 16 (old 4)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom4Shortcut, function(){W.map.olMap.zoomTo(4+12);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom5Shortcut', 'Zoom to 17 (old 5)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom5Shortcut, function(){W.map.olMap.zoomTo(5+12);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom6Shortcut', 'Zoom to 18 (old 6)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom6Shortcut, function(){W.map.olMap.zoomTo(6+12);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom7Shortcut', 'Zoom to 19 (old 7)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom7Shortcut, function(){W.map.olMap.zoomTo(7+12);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom8Shortcut', 'Zoom to 20 (old 8)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom8Shortcut, function(){W.map.olMap.zoomTo(8+12);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom9Shortcut', 'Zoom to 21 (old 9)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom9Shortcut, function(){W.map.olMap.zoomTo(9+12);}, null).add();
- new WazeWrap.Interface.Shortcut('Zoom10Shortcut', 'Zoom to 22 (old 10)', 'wmezoomshortcuts', 'Zoom Shortcuts', settings.Zoom10Shortcut, function(){W.map.olMap.zoomTo(10+12);}, null).add();
-
- window.addEventListener("beforeunload", function() {
- saveSettings();
- }, false);
- }
-
- function loadSettings() {
- var loadedSettings = $.parseJSON(localStorage.getItem("WMEZoomShortcuts_Settings"));
- var defaultSettings = {
- Zoom1Shortcut: '',
- Zoom2Shortcut: '',
- Zoom3Shortcut: '',
- Zoom4Shortcut: '',
- Zoom5Shortcut: '',
- Zoom6Shortcut: '',
- Zoom7Shortcut: '',
- Zoom8Shortcut: '',
- Zoom9Shortcut: '',
- Zoom10Shortcut: '',
- Zoom0Shortcut: '',
- ZoomNew10Shortcut: '',
- ZoomNew11Shortcut: ''
- };
- settings = $.extend({}, defaultSettings, loadedSettings)
- }
-
- function saveSettings(){
- if (localStorage) {
- var localsettings = {
- Zoom1Shortcut: settings.Zoom1Shortcut,
- Zoom2Shortcut: settings.Zoom2Shortcut,
- Zoom3Shortcut: settings.Zoom3Shortcut,
- Zoom4Shortcut: settings.Zoom4Shortcut,
- Zoom5Shortcut: settings.Zoom5Shortcut,
- Zoom6Shortcut: settings.Zoom6Shortcut,
- Zoom7Shortcut: settings.Zoom7Shortcut,
- Zoom8Shortcut: settings.Zoom8Shortcut,
- Zoom9Shortcut: settings.Zoom9Shortcut,
- Zoom10Shortcut: settings.Zoom10Shortcut,
- Zoom0Shortcut: settings.Zoom0Shortcut,
- ZoomNew10Shortcut: settings.ZoomNew10Shortcut,
- ZoomNew11Shortcut: settings.ZoomNew11Shortcut
- };
-
- for (var name in W.accelerators.Actions) {
- var TempKeys = "";
- if (W.accelerators.Actions[name].group == 'wmezoomshortcuts') {
- if (W.accelerators.Actions[name].shortcut) {
- if (W.accelerators.Actions[name].shortcut.altKey === true)
- TempKeys += 'A';
- if (W.accelerators.Actions[name].shortcut.shiftKey === true)
- TempKeys += 'S';
- if (W.accelerators.Actions[name].shortcut.ctrlKey === true)
- TempKeys += 'C';
- if (TempKeys !== "")
- TempKeys += '+';
- if (W.accelerators.Actions[name].shortcut.keyCode)
- TempKeys += W.accelerators.Actions[name].shortcut.keyCode;
- } else
- TempKeys = "-1";
- localsettings[name] = TempKeys;
- }
- }
-
- localStorage.setItem("WMEZoomShortcuts_Settings", JSON.stringify(localsettings));
- }
- }
- })();