Rotate control now takes optional resetNorth function

This commit is contained in:
Tamar Cohen
2015-11-02 10:06:59 -08:00
parent ad85e0e98d
commit 4a163b54f3
2 changed files with 17 additions and 1 deletions

View File

@@ -1315,6 +1315,7 @@ olx.control.ScaleLineOptions.prototype.units;
* tipLabel: (string|undefined),
* target: (Element|undefined),
* render: (function(ol.MapEvent)|undefined),
* resetNorth: (function()|undefined),
* autoHide: (boolean|undefined)}}
* @api stable
*/
@@ -1371,6 +1372,15 @@ olx.control.RotateOptions.prototype.autoHide;
olx.control.RotateOptions.prototype.render;
/**
* Function called when the control is clicked. This will override the
* default resetNorth.
* @type {function()|undefined}
* @api
*/
olx.control.RotateOptions.prototype.resetNorth;
/**
* Target.
* @type {Element|undefined}

View File

@@ -63,6 +63,8 @@ ol.control.Rotate = function(opt_options) {
var render = options.render ? options.render : ol.control.Rotate.render;
this.callResetNorth_ = options.resetNorth ? options.resetNorth : undefined;
goog.base(this, {
element: element,
render: render,
@@ -101,7 +103,11 @@ goog.inherits(ol.control.Rotate, ol.control.Control);
*/
ol.control.Rotate.prototype.handleClick_ = function(event) {
event.preventDefault();
this.resetNorth_();
if (this.callResetNorth_ !== undefined) {
this.callResetNorth_();
} else {
this.resetNorth_();
}
};