Scripts View history

Revision as of 00:42, 16 July 2013 by AlanOfTheBerg (talk | contribs)

The Waze community has created the following plugins/extensions/addons for use in the Waze web-based environments. (Client-side possible?)

LiveMap

LiveMap Navigation List

This plugin/extension works with the Waze LiveMap only. After installing, create a route in the LiveMap by clicking on the origin and destination. Once the LiveMap requests the route, the left side area will switch from the current events scrolling list, to a navigation list of the route. Multiple routes are displayed. Each turn is clickable and the map will zoom to that location.

DOWNLOAD LiveMap Navigation List

Download the LiveMap Navigation List from userscripts.org

  • Firefox requires the Greasemonkey Addon.
  • Chrome users can leverage the Tampermonkey Extension to install and manage the script from directly within the browser. Otherwise Chrome users will need drag the file downloaded to their PC into the Chrome Extensions tab.

More Information

Forum thread for discussion and feedback


LiveMap UR Overlay (LMUR)

The LMUR script when installs allows you to see open user requests and map problems in areas which you have permission to edit, superimposed on the Waze Livemap. The requests can be filtered by age, and individual types of requests can be selected for viewing. You must load the Livemap using a secure (https) URL for the script to work.

DOWNLOAD LiveMap UR Overlay (LMUR)

Download the LiveMap UR Overlay script from userscripts.org

  • Firefox requires the Greasemonkey Addon.
  • Chrome users can leverage the Tampermonkey Extension to install and manage the script from directly within the browser. Otherwise Chrome users will need drag the file downloaded to their PC into the Chrome Extensions tab.

More Information

Forum thread for discussion and feedback


Editing

WME Color Highlights for Landmarks and Segments

This script adds color highlighting to segments and landmarks according to their status and type. The highlighting of segments is likely to be most useful, for it shows locked and un-named roads.

DOWNLOAD WME Color Highlights for Landmarks and Segments

Download from userscripts.org (.crx file for Chrome users included on that page)

  • Firefox requires the Greasemonkey Addon.
  • Chrome users can leverage the Tampermonkey Extension to install and manage the script from directly within the browser. Otherwise, Chrome users will need to downloaded manually, and then drag '141050.user.js' into the Extensions tab.

More Information

Forum thread for discussion and feedback


WME Junction Angle Info

Shows the angle between two selected (and connected) segments. Version 1.5 as of March 20, 2013.

DOWNLOAD Junction Angle Info

From the Chrome Store - From userscripts.org

More Information

(The link for discussion of this script in the Waze forums needs to be added.)


Junction Node Fixer (JNF)

Saves the state of WME's ShowAllTurns, ShowTurns and Full-screen mode across F5/Permalink. Forces data model reload after successful save.

This overloads the 'q' (disallowAllTurns) hotkey action to preserve existing turn restrictions.

  • Fixes any self and reverse connectivity issues
  • Fixes closed loop roads
  • Terminates dead-ends
  • Makes dead-ends two-way (only if both ends of the segment are visible)
  • Sets the Type of a roundabouts using lowest of two highest rule and sets country/state if needed
  • For UK sets Type of roundabouts using highest type excluding Freeway rule.
  • Does a traditional 'qw' (clears reverse connectivity, and locks turns)
  • Causes the turn arrows to refresh (the side effect of 's' but without the shifting).

Since you end up with the same turns restricted, that means you need to press 'w' if you really want all turns allowed. This is why it overloads 'q' instead of 'w'. Ultimately this will be a separate hotkey that's editable through WME's '?' interface.

This has only be tested in Chrome, it's been reported to work in FF+GM.

DOWNLOAD Junction Node Fixer

From userscripts.org

More Information

WME Junction Node Fixer forum discussion


WME Toolbox

This script adds many features like small junctions highlight, redo roundabout, convert roundabout to standard road, clear road geometry, many permalinks to external sites, and more.

It's live updated and doesn't need to be manually updated each time a new version is released.

It requires WME Colors Highlight and WME Junction Node Fixer to work.

DOWNLOAD WME Toolbox

Firefox - Chrome

More Information

English forum thread - French forum thread


Update Request Overview (URO)

There are two main features to the script. The first is to add a pop-up box next to whichever user request or camera marker your mouse pointer is hovering over. This box contains a summary of the details for this UR/camera, allowing you to quickly see if it's one that you need to pay more attention to without having to click on the marker and wait for WME to reload the map at the marker position.

For UR markers, the box also contains three links allowing you to open up a new WME tab centred on the marker, to open up a new LiveMap tab, or to hide the marker for the remainder of this editing session (if you've decided that it's a UR you definitely don't want to be bothered with today)


The second feature is the ability to filter UR and camera markers by various parameters - type, age, keywords etc. e.g. if you don't want to see any General Error UR markers, they can all be hidden by ticking a single checkbox. If you only want to see URs that were created at least x days ago, but less than y days ago, you can do that too. If you're in the habit of setting URs to remind yourself about a map issue you want to fix when you get home, and you insert your username into the UR description to remind everyone else not to touch that UR, you can then find these URs easily by using the keyword filter...

Camera markers can be similarly filtered, although the range of filters is somewhat smaller here.

DOWNLOAD Update Request Overview

Firefox+Greasemonkey version 1.31 - Chrome packaged version 1.31

More Information

Forum discussion thread


Waze Aerial Shifter

This script helps you adjust the position of underlying Bing maps to work on road alignment inside WME.

DOWNLOAD Waze Aerial Shifter

Chrome packaged Version 1.2.14 (June 24, 2013)

More Information

Forum discussion thread


Street to River

Street created, selected and named
River created and helper street deleted

The script is designed as a helper for creating river/railroad landmarks for the free waze navigation system. The script transforms the geometry of a new unsaved street to a river or railroad landmark. You can predefine the width and the name for the new landmark in the form of a special street name.

Mini howto:

  • install this script as greasemonkey script or chrome extension
  • draw a new street but do not save the street
  • add and apply a street name to define the rivers name and width. This step is optional.
Example: 20m Spree creates a 20 meters wide river named Spree
  • Select the helper street
  • Click the Street to river or Street to railroad button
  • Delete the helper street
  • Edit the new landmark as you like. You can even set the landmark to another type. "Here" it is used to mark a railroad (using landmark type 'other'.

Examples of rivers created by the script:

Download the script from: userscripts.org (Firefox requires the Greasemonkey Addon.)

Discussion for the script can be found in the forum topic: "Greasemonkey script for easy river drawing"


WazeBar

WazeBar is an alternative menu bar for WME that also integrates other scripts, making them available on Safari.

The currently integrated scripts are:

  • WME Color Highlights by timbones.
  • UR Overview by Twister_UK.
  • GeoWipe by bgodette.
  • Junction Node Fixer bybgodette.

Other features include:

  • Autosave at a certain number of edits.

More features and additional script integrations are being worked on. You can get in on the discussion here: [1]. The Safari Extension can be downloaded here: [2]. The original development of WazeBar was made by Mike Bronner, it is currently mantained by Edson Jiménez.


Roundabout Angles and Landmark

Roundabout Angles and Landmark is a script with two features:

  • selecting a roundabout node, on the left side there is a button to automatically create a "junction" landmark around the landmark. Roundabout segments shall not have street name set, but the roundabout name should be added to this landmark in the middle, so the label appears horizontally.
  • selecting a roundabout node, on the left side there is a button to create a temporary landmark in the form of a leaf, which will denote the approximate 90º, 180º and 270º range that Waze uses to switch from the "take the nth exit" to the "straight ahead/turn left/turn right" on roundabouts with two to four connections.

If the created landmark is not round, it means the roundabout has something screwed up, usually a reversed A->B segment, so it also helps ensuring proper roundabouts.

WME Add-Ons

CAUTION! Please do not use this tool unless you are a very experienced Waze editor and fully understand the ramifications of using this tool. Even experienced editors should learn how to use it only on very smaller areas at a time. Read the forum linked below to better learn how to use it and to understand the ramifications of its use!

This is a plugin/extension which displays a table of all the current view's country, state, city and street names. You can select all segments of a street using a custom button. This extension makes it very easy to find and fix incorrect cities and states (in the U.S.) and bad street names. The tool has many other capabilities as well.

Since this tool is updated often, please see the forum linked below for a full list of features, download links, installation instructions, and discussion for the latest version.

"(Script) WME Add-Ons"

There is a previous version of this tool called "WME Extended Tools". Due to changes to the Waze Map Editor, its functionality was broken, and the decision was made to re-write the tool from scratch. WME Extended Tools is no longer supported, should be uninstalled, and should no longer be used.

WME Level Highlighter

WME Script allowing Segment highlighting based on segment levels. Please note that this does Conflict with Tim's WME Color Highlights and that both should NOT be active at the same time.

"(Script) WME Level Highlighter"

Device

Geocaching

[Geocaching-Waze bookmarklet] is a iOS Safari bookmarklet from davipt that allows driving to a given Geocaching coordinate. Currently it assumes a fixed flow within iOS and the official Geocaching client, but it can be adapted to other situations.

Open the iOS Geocaching app, pick up a cache, click on "Open on external map", which will open Google Maps on the browser. From this page, click on the bookmarklet, which will display the lat+lon, and then open Waze on that point, ready to drive there.

Developing

JavaScript Development Best Practices for Waze Extensions and Scripts

Best Practices

All of the normal best practice guidelines apply, some references:

To help with this, run your code through some useful analyzers to head off potential problems, like:

jQuery

WME is built on jQuery. This makes it easy to manipulate, access properties, and directly reference the built-in Waze objects underlying WME. Using jQuery enables tighter integration into WME, reduces code, and builds on what is already there. As of now, WME is running jQuery 1.7 vanilla, which does not include any optional modules like jQuery UI.

Variable & Function Prefix

To ensure that your code is safe from collision with other scripts and extensions, please prefix all variables and functions with a prefix of your choosing (this includes local variables and global variables, since your entire script is made public when it is loaded in WME). An example would be instead of naming a variable "version", name it "coolscript_version" instead, if your script is named "Cool Script".

Code Encapsulation

While not technically code encapsulation in the object oriented sense, please encapsulate all code with a function, except requisite bootstrap code and initializer calls.

UserScript Bootstraping

When creating user scripts for Greasemonkey, Chrome, or TamperMonkey, use the following bootstrap at the start of your script. timbones did extensive research on this to make sure it is completely cross-browser compatible. Not only will it work in GreaseMonkey, Chrome, and TamperMonkey, but can also be dropped into a Safari Extension without any recoding.


function coolscript_bootstrap()
{
	var bGreasemonkeyServiceDefined     = false;

	try
	{
		if (typeof Components.interfaces.gmIGreasemonkeyService === "object")
		{
			bGreasemonkeyServiceDefined = true;
		}
	}
	catch (err)
	{
		//Ignore.
	}
	if ( typeof unsafeWindow === "undefined"  ||  ! bGreasemonkeyServiceDefined)
	{
		unsafeWindow    = ( function ()
		{
			var dummyElem   = document.createElement('p');
			dummyElem.setAttribute ('onclick', 'return window;');
			return dummyElem.onclick ();
		} ) ();
	}
	/* begin running the code! */
	coolscript_init();
}

function coolscript_init()
{
	//run your code here
}

// [...]
// then at the end of your script, call the bootstrap to get things started
coolscript_bootstrap();