More responsive zoom buttons on touch devices thanks to @ahocevar
This commit is contained in:
@@ -5,6 +5,7 @@ goog.require('goog.dom');
|
||||
goog.require('goog.dom.TagName');
|
||||
goog.require('goog.events');
|
||||
goog.require('goog.events.EventType');
|
||||
goog.require('ol.BrowserFeature');
|
||||
goog.require('ol.Projection');
|
||||
goog.require('ol.control.Control');
|
||||
|
||||
@@ -25,22 +26,26 @@ ol.control.ZoomOptions;
|
||||
*/
|
||||
ol.control.Zoom = function(zoomOptions) {
|
||||
|
||||
var eventType = ol.BrowserFeature.HAS_TOUCH ?
|
||||
goog.events.EventType.TOUCHEND : goog.events.EventType.CLICK;
|
||||
|
||||
var inElement = goog.dom.createDom(goog.dom.TagName.A, {
|
||||
'href': '#zoomIn',
|
||||
'class': 'ol-zoom-in'
|
||||
}, '+');
|
||||
goog.events.listen(
|
||||
inElement, goog.events.EventType.CLICK, this.handleIn_, false, this);
|
||||
goog.events.listen(inElement, eventType, this.handleIn_, false, this);
|
||||
|
||||
var outElement = goog.dom.createDom(goog.dom.TagName.A, {
|
||||
'href': '#zoomOut',
|
||||
'class': 'ol-zoom-out'
|
||||
}, '\u2212');
|
||||
goog.events.listen(
|
||||
outElement, goog.events.EventType.CLICK, this.handleOut_, false, this);
|
||||
goog.events.listen(outElement, eventType, this.handleOut_, false, this);
|
||||
|
||||
var element = goog.dom.createDom(
|
||||
goog.dom.TagName.DIV, 'ol-zoom', inElement, outElement);
|
||||
goog.events.listen(
|
||||
element, ol.BrowserFeature.HAS_TOUCH ? goog.events.EventType.TOUCHSTART :
|
||||
goog.events.EventType.MOUSEDOWN, goog.events.Event.stopPropagation);
|
||||
|
||||
goog.base(this, {
|
||||
element: element,
|
||||
|
||||
Reference in New Issue
Block a user