/**
* BeNomad BeMap JavaScript API - Event class
*/
/**
* @classdesc
* Base class for event.
* @public
* @constructor
* @param {object} options Options object.
* @param {object} options.native native object.
* @param {object} options.map map object.
* @param {object} options.bemapObject bemap object.
* @param {int} options.x X coordinate in pixels.
* @param {int} options.y Y coordinate in pixels.
* @param {bemap.Coordinate} options.coordinate Coordinate.
* @param {object} options.properties object can contains custom properties.
*/
bemap.MapEvent = function(options) {
var opts = options || {};
/**
* Native map browser event.
* @type {Object}
* @protected
*/
this.native = opts.native ? opts.native : null;
/**
* Map object that generated the event.
* @type {bemap.Map}
* @protected
*/
this.map = opts.map ? opts.map : null;
/**
* BeMap SDK object like bemap.Marker, bemap.Polyline, etc.
* @type {bemap.Object}
* @protected
*/
this.bemapObject = opts.bemapObject ? opts.bemapObject : null;
/**
* x coordinate in pixels.
* @type {int}
* @protected
*/
this.x = opts.x ? opts.x : 0;
/**
* y coordinate in pixels.
* @type {int}
* @protected
*/
this.y = opts.y ? opts.y : 0;
/**
* Coordinate of event (longitude and latitude).
* @type {bemap.Coordinate}
* @protected
*/
this.coordinate = opts.coordinate ? opts.coordinate : new bemap.Coordinate();
/**
* x coordinate before event in pixels.
* @type {int}
* @protected
*/
this.startX = opts.startX ? opts.startX : 0;
/**
* y coordinate before event in pixels.
* @type {int}
* @protected
*/
this.startY = opts.startY ? opts.startY : 0;
/**
* Start coordinate before event (longitude and latitude).
* @type {bemap.Coordinate}
* @protected
*/
this.startCoordinate = opts.startCoordinate ? opts.startCoordinate : new bemap.Coordinate();
/**
* @type {Object}
* @protected
*/
this.properties = opts.properties ? opts.properties : null;
};
/**
* Return the bemap.Coordinate. See bemap.Coordinate.
* @public
* @return {bemap.Coordinate} Return the bemap.Coordinate. See bemap.Coordinate.
*/
bemap.MapEvent.prototype.getCoordinate = function() {
return this.coordinate;
};