mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 01:02:58 +00:00
Support mousewheel and doubleclick zooming
This commit is contained in:
20
index.html
20
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;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -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;
|
||||
},
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user