componentconstructors['link'] = function(dynmap, configuration) { var dynmapLink = L.Control.extend({ options: { position: 'bottomleft' }, onAdd: function(map) { this._map = map; this._container = L.DomUtil.create('div', 'dynmap-link'); this._linkButton = this._createButton( 'Link', 'dynmap-link-button', this._follow, this); this._container.appendChild(this._linkButton); return this._container; }, getContainer: function() { return this._container; }, getPosition: function() { return this.options.position; }, _createButton: function(title, className, fn, context) { var link = document.createElement('a'); link.href = '#'; link.title = title; link.className = className; link.onmouseover = function() { link.href = dynmap.getLink(); }; L.DomEvent.disableClickPropagation(link); L.DomEvent.addListener(link, 'click', L.DomEvent.preventDefault); L.DomEvent.addListener(link, 'click', fn, context); return link; }, _follow: function() { var url = dynmap.getLink(); window.location = url; } }); var link = new dynmapLink(); dynmap.map.addControl(link); };