Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
ArcGIS-JSAPI: DrawingToolbar hack for onDrawBegin
* Making up for a missing "draw-begin" or "draw-start" event for the ArcGIS JavaScript API Drawing toolbar
* Problem: While the drawing toolbar in the ArcGIS JavaScript API has a "draw-end" and a "draw-complete"
* event, it doesn't have a "draw-start" or "draw-begin" event.
* Solution: Use a dojo/on pausable event that is only unpaused after the draw-end event.
require(["esri/map", "dojo/on", "esri/toolbars/draw"], function (Map, dojoOn, Draw) {
var map = new Map("mapdiv", {});
var drawtoolbar = new Draw(map, {});
//do stuff...
// set up event listener to trigger the "draw-begin" event
var onDrawBegin = dojoOn.pausable(map, "mouse-down", function () {
// test if you can pause the onDrawBegin after the event is called.
if (onDrawBegin && typeof onDrawBegin.pause === "function") {
// pause it for now
// set up the draw-end event to reactivate onDrawBegin
dojoOn(drawtoolbar, "draw-end, activate", function (evt) {
// resume the onDrawBegin when you touch the map to draw again.
dojoOn(drawtoolbar, "deactivate", function (evt) {
// pause draw event if the drawtoolbar is deactivated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.