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;
- },
+ }
});