diff --git a/index.html b/index.html index db2486586..a6e330cad 100755 --- a/index.html +++ b/index.html @@ -132,6 +132,26 @@ require(["dojo/_base/lang","dojo/dom-geometry","dojo/dom-class","dojo/on","dojo/ map.zoomOut(); }); + $('#map').dblclick(function() { + map.zoomIn(); + }); + + var scroll = 0; + $('#map').bind('mousewheel', function(e) { + e.preventDefault(); + + scroll += e.originalEvent.wheelDelta; + if (scroll > 300) { + map.zoomIn(); + scroll = 0; + } + if (scroll < -300) { + map.zoomOut(); + scroll = 0; + } + }); + + }); diff --git a/js/iD/controller/edit/SelectedWay.js b/js/iD/controller/edit/SelectedWay.js index f9d9e9053..d07e2955e 100755 --- a/js/iD/controller/edit/SelectedWay.js +++ b/js/iD/controller/edit/SelectedWay.js @@ -11,16 +11,18 @@ declare("iD.controller.edit.SelectedWay", [iD.controller.edit.EditBaseState], { wayUI: null, entryevent: null, - constructor:function(_way,_event) { + constructor:function(way, event) { // summary: In 'Edit object' mode and a way is selected. - this.way=_way; - this.entryevent=_event; + this.way = way; + this.entryevent = event; }, enterState:function() { - this.wayUI=this.controller.map.getUI(this.way); + this.wayUI = this.controller.map.getUI(this.way); this.wayUI.setStateClass('selected'); this.wayUI.setStateClass('shownodes'); - if (this.entryevent) { this.openEditorTooltip(this.entryevent.clientX, this.entryevent.clientY, this.way); } + if (this.entryevent) { + this.openEditorTooltip(this.entryevent.clientX, this.entryevent.clientY, this.way); + } this.wayUI.redraw(); }, exitState:function() { @@ -31,25 +33,30 @@ declare("iD.controller.edit.SelectedWay", [iD.controller.edit.EditBaseState], { }, processMouseEvent:function(event,entityUI) { - var entity=entityUI ? entityUI.entity : null; - var entityType=entity ? entity.entityType : null; + var entity = entityUI ? entityUI.entity : null; + var entityType = entity ? entity.entityType : null; - if (event.type=='click') { + if (event.type === 'click') { switch (entityType) { case null: return new iD.controller.edit.NoSelection(); case 'node': - var ways=entity.parentWays(); - if (entity.hasParent(this.way)) { return new iD.controller.edit.SelectedWayNode(entity,this.way); } - else if (ways.length==0) { return new iD.controller.edit.SelectedPOINode(entity); } - else { return new iD.controller.edit.SelectedWayNode(entity,ways[0]); } + var ways = entity.entity.parentWays(); + if (entity.entity.hasParent(this.way)) { + return new iD.controller.edit.SelectedWayNode(entity, this.way); + } else if (!ways.length) { + return new iD.controller.edit.SelectedPOINode(entity); + } else { + return new iD.controller.edit.SelectedWayNode(entity, ways[0]); + } + break; case 'way': return new iD.controller.edit.SelectedWay(entityUI.entity, event); } } else { } return this; - }, + } });