Skip to content

Instantly share code, notes, and snippets.

@ahocevar
Created September 27, 2012 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ahocevar/3794252 to your computer and use it in GitHub Desktop.
Save ahocevar/3794252 to your computer and use it in GitHub Desktop.
@@ -2,10 +2,11 @@ goog.provide('ol.control.Zoom');
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');
@@ -33,32 +34,41 @@ ol.control.Zoom = function(map, opt_zoomDelta) {
/**
* @type {Element}
* @private
*/
- this.inButton_ = goog.dom.createDom(goog.dom.TagName.DIV, 'ol-zoom-in',
- goog.dom.createDom(goog.dom.TagName.A, {'href': '#zoomIn'}));
+ this.inButton_ = goog.dom.createDom(goog.dom.TagName.A, {
+ 'href': '#zoomIn',
+ 'class': 'ol-zoom-in'
+ });
/**
* @type {Element}
* @private
*/
- this.outButton_ = goog.dom.createDom(goog.dom.TagName.DIV, 'ol-zoom-out',
- goog.dom.createDom(goog.dom.TagName.A, {'href': '#zoomOut'}));
+ this.outButton_ = goog.dom.createDom(goog.dom.TagName.A, {
+ 'href': '#zoomOut',
+ 'class': 'ol-zoom-out'
+ });
- goog.dom.setTextContent(
- /** @type {Element} */ (this.inButton_.firstChild), '+');
- goog.dom.setTextContent(
- /** @type {Element} */ (this.outButton_.firstChild), '\u2212');
+ goog.dom.setTextContent(/** @type {Element} */ (this.inButton_), '+');
+ goog.dom.setTextContent(/** @type {Element} */ (this.outButton_), '\u2212');
goog.dom.append(this.divElement_, this.inButton_, this.outButton_);
goog.dom.append(/** @type {!Node} */ (map.getViewport()), this.divElement_);
- goog.events.listen(this.inButton_, goog.events.EventType.CLICK,
+ goog.events.listen(this.inButton_,
+ ol.BrowserFeature.HAS_TOUCH ?
+ goog.events.EventType.TOUCHEND : goog.events.EventType.CLICK,
this.handleIn_, false, this);
- goog.events.listen(this.outButton_, goog.events.EventType.CLICK,
+ goog.events.listen(this.outButton_,
+ ol.BrowserFeature.HAS_TOUCH ?
+ goog.events.EventType.TOUCHEND : goog.events.EventType.CLICK,
this.handleOut_, false, this);
-
+ goog.events.listen(this.divElement_,
+ ol.BrowserFeature.HAS_TOUCH ?
+ goog.events.EventType.TOUCHSTART : goog.events.EventType.MOUSEDOWN,
+ goog.events.Event.stopPropagation, false, this);
};
goog.inherits(ol.control.Zoom, ol.control.Control);
/**
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment