More responsive zoom buttons on touch devices thanks to @ahocevar

This commit is contained in:
Tom Payne
2012-09-27 18:07:02 +02:00
parent 676a95efd8
commit 7415a11c63

View File

@@ -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,