您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add uturns from node
- // ==UserScript==
- // @name WME Add Uturns from node
- // @version 0.1
- // @description Add uturns from node
- // @author ixxvivxxi
- // @include https://www.waze.com/editor/*
- // @include https://www.waze.com/*/editor/*
- // @include https://editor-beta.waze.com/editor/*
- // @include https://editor-beta.waze.com/*/editor/*
- // @grant none
- // @namespace https://greasyfork.org/ru/scripts/16950-wme-add-uturns-from-node
- // ==/UserScript==
- function Uturns_bootstrap()
- {
- var bGreasemonkeyServiceDefined = false;
- try
- {
- if ("object" === typeof Components.interfaces.gmIGreasemonkeyService)
- {
- bGreasemonkeyServiceDefined = true;
- }
- }
- catch (err)
- {
- //Ignore.
- }
- if ( "undefined" === typeof unsafeWindow || ! bGreasemonkeyServiceDefined)
- {
- unsafeWindow = ( function ()
- {
- var dummyElem = document.createElement('p');
- dummyElem.setAttribute ('onclick', 'return window;');
- return dummyElem.onclick ();
- } ) ();
- }
- /* begin running the code! */
- setTimeout(startUturns,999);
- }
- function startUturns() {
- Waze.selectionManager.events.register("selectionchanged", null, showButton);
- var wazeActionModifyConnection= require("Waze/Action/ModifyConnection")
- function showButton() {
- if(Waze.selectionManager.selectedItems.length == 0 || Waze.selectionManager.selectedItems.length > 1) return;
- if(Waze.selectionManager.selectedItems[0].model.type == "node") {
- $('.side-panel-section:first-child').append('<button id="addUturns" class="btn btn-default">add uturns</button>');
- }
- }
- $('#sidebar').on('click', '#addUturns', function(event) {
- var node = Waze.selectionManager.selectedItems[0].model;
- var segIDs = node.attributes.segIDs;
- for (var i = 0; i < segIDs.length; i++) {
- var segment = Waze.model.segments.objects[segIDs[i]];
- if (segment.attributes.fromNodeID == node.attributes.id) {
- console.log('А', segment.attributes.id);
- segment.attributes.fromConnections[segment.attributes.id] = true;
- Waze.model.actionManager.add(new wazeActionModifyConnection(segment.attributes.id, segment.getFromNode(), segment.attributes.id,segment.getFromNode()));
- } else {
- console.log('B', segment.attributes.id);
- segment.attributes.toConnections[segment.attributes.id] = true;
- Waze.model.actionManager.add(new wazeActionModifyConnection(segment.attributes.id, segment.getToNode(), segment.attributes.id, segment.getToNode()));
- }
- }
- });
- }
- Uturns_bootstrap();