X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/3513138b99d1b10fa3300784236d16ee4d5fd3f3..3e67d08c13b391e3d5d88280713e97caf9a8c36d:/public/lib/OpenLayers/Popup/Anchored.js diff --git a/public/lib/OpenLayers/Popup/Anchored.js b/public/lib/OpenLayers/Popup/Anchored.js deleted file mode 100644 index 90db91279..000000000 --- a/public/lib/OpenLayers/Popup/Anchored.js +++ /dev/null @@ -1,125 +0,0 @@ -/* Copyright (c) 2006 MetaCarta, Inc., published under the BSD license. - * See http://svn.openlayers.org/trunk/openlayers/license.txt for the full - * text of the license. */ -// @require: OpenLayers/Popup.js - -/** -* @class -*/ -OpenLayers.Popup.Anchored = Class.create(); -OpenLayers.Popup.Anchored.prototype = - Object.extend( new OpenLayers.Popup(), { - - /** "lr", "ll", "tr", "tl" - relative position of the popup. - * @type String */ - relativePosition: null, - - /** Object which must have expose a 'size' (OpenLayers.Size) and - * 'offset' (OpenLayers.Pixel) - * @type Object */ - anchor: null, - - /** - * @constructor - * - * @param {String} id - * @param {OpenLayers.LonLat} lonlat - * @param {OpenLayers.Size} size - * @param {String} contentHTML - * @param {Object} anchor Object which must expose a - * - 'size' (OpenLayers.Size) and - * - 'offset' (OpenLayers.Pixel) - * (this is generally an OpenLayers.Icon) - */ - initialize:function(id, lonlat, size, contentHTML, anchor) { - var newArguments = new Array(id, lonlat, size, contentHTML); - OpenLayers.Popup.prototype.initialize.apply(this, newArguments); - - this.anchor = (anchor != null) ? anchor - : { size: new OpenLayers.Size(0,0), - offset: new OpenLayers.Pixel(0,0)}; - }, - - /** - * @param {OpenLayers.Pixel} px - * - * @returns Reference to a div that contains the drawn popup - * @type DOMElement - */ - draw: function(px) { - if (px == null) { - if ((this.lonlat != null) && (this.map != null)) { - px = this.map.getLayerPxFromLonLat(this.lonlat); - } - } - - //calculate relative position - this.relativePosition = this.calculateRelativePosition(px); - - return OpenLayers.Popup.prototype.draw.apply(this, arguments); - }, - - /** - * @private - * - * @param {OpenLayers.Pixel} px - * - * @returns The relative position ("br" "tr" "tl "bl") at which the popup - * should be placed - * @type String - */ - calculateRelativePosition:function(px) { - var lonlat = this.map.getLonLatFromLayerPx(px); - - var extent = this.map.getExtent(); - var quadrant = extent.determineQuadrant(lonlat); - - return OpenLayers.Bounds.oppositeQuadrant(quadrant); - }, - - /** - * @param {OpenLayers.Pixel} px - */ - moveTo: function(px) { - - var newPx = this.calculateNewPx(px); - - var newArguments = new Array(newPx); - OpenLayers.Popup.prototype.moveTo.apply(this, newArguments); - }, - - /** - * @param {OpenLayers.Size} size - */ - setSize:function(size) { - OpenLayers.Popup.prototype.setSize.apply(this, arguments); - - if ((this.lonlat) && (this.map)) { - var px = this.map.getLayerPxFromLonLat(this.lonlat); - this.moveTo(px); - } - }, - - /** - * @private - * - * @param {OpenLayers.Pixel} px - * - * @returns The the new px position of the popup on the screen - * relative to the passed-in px - * @type OpenLayers.Pixel - */ - calculateNewPx:function(px) { - var newPx = px.offset(this.anchor.offset); - - var top = (this.relativePosition.charAt(0) == 't'); - newPx.y += (top) ? -this.size.h : this.anchor.size.h; - - var left = (this.relativePosition.charAt(1) == 'l'); - newPx.x += (left) ? -this.size.w : this.anchor.size.w; - - return newPx; - }, - - CLASS_NAME: "OpenLayers.Popup.Anchored" -});