summaryrefslogtreecommitdiff
path: root/misc/openlayers/lib/OpenLayers/Feature.js
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/lib/OpenLayers/Feature.js')
-rw-r--r--misc/openlayers/lib/OpenLayers/Feature.js225
1 files changed, 0 insertions, 225 deletions
diff --git a/misc/openlayers/lib/OpenLayers/Feature.js b/misc/openlayers/lib/OpenLayers/Feature.js
deleted file mode 100644
index ed7fd16..0000000
--- a/misc/openlayers/lib/OpenLayers/Feature.js
+++ /dev/null
@@ -1,225 +0,0 @@
-/* Copyright (c) 2006-2013 by OpenLayers Contributors (see authors.txt for
- * full list of contributors). Published under the 2-clause BSD license.
- * See license.txt in the OpenLayers distribution or repository for the
- * full text of the license. */
-
-
-/**
- * @requires OpenLayers/BaseTypes/Class.js
- * @requires OpenLayers/Util.js
- */
-
-/**
- * Class: OpenLayers.Feature
- * Features are combinations of geography and attributes. The OpenLayers.Feature
- * class specifically combines a marker and a lonlat.
- */
-OpenLayers.Feature = OpenLayers.Class({
-
- /**
- * Property: layer
- * {<OpenLayers.Layer>}
- */
- layer: null,
-
- /**
- * Property: id
- * {String}
- */
- id: null,
-
- /**
- * Property: lonlat
- * {<OpenLayers.LonLat>}
- */
- lonlat: null,
-
- /**
- * Property: data
- * {Object}
- */
- data: null,
-
- /**
- * Property: marker
- * {<OpenLayers.Marker>}
- */
- marker: null,
-
- /**
- * APIProperty: popupClass
- * {<OpenLayers.Class>} The class which will be used to instantiate
- * a new Popup. Default is <OpenLayers.Popup.Anchored>.
- */
- popupClass: null,
-
- /**
- * Property: popup
- * {<OpenLayers.Popup>}
- */
- popup: null,
-
- /**
- * Constructor: OpenLayers.Feature
- * Constructor for features.
- *
- * Parameters:
- * layer - {<OpenLayers.Layer>}
- * lonlat - {<OpenLayers.LonLat>}
- * data - {Object}
- *
- * Returns:
- * {<OpenLayers.Feature>}
- */
- initialize: function(layer, lonlat, data) {
- this.layer = layer;
- this.lonlat = lonlat;
- this.data = (data != null) ? data : {};
- this.id = OpenLayers.Util.createUniqueID(this.CLASS_NAME + "_");
- },
-
- /**
- * Method: destroy
- * nullify references to prevent circular references and memory leaks
- */
- destroy: function() {
-
- //remove the popup from the map
- if ((this.layer != null) && (this.layer.map != null)) {
- if (this.popup != null) {
- this.layer.map.removePopup(this.popup);
- }
- }
- // remove the marker from the layer
- if (this.layer != null && this.marker != null) {
- this.layer.removeMarker(this.marker);
- }
-
- this.layer = null;
- this.id = null;
- this.lonlat = null;
- this.data = null;
- if (this.marker != null) {
- this.destroyMarker(this.marker);
- this.marker = null;
- }
- if (this.popup != null) {
- this.destroyPopup(this.popup);
- this.popup = null;
- }
- },
-
- /**
- * Method: onScreen
- *
- * Returns:
- * {Boolean} Whether or not the feature is currently visible on screen
- * (based on its 'lonlat' property)
- */
- onScreen:function() {
-
- var onScreen = false;
- if ((this.layer != null) && (this.layer.map != null)) {
- var screenBounds = this.layer.map.getExtent();
- onScreen = screenBounds.containsLonLat(this.lonlat);
- }
- return onScreen;
- },
-
-
- /**
- * Method: createMarker
- * Based on the data associated with the Feature, create and return a marker object.
- *
- * Returns:
- * {<OpenLayers.Marker>} A Marker Object created from the 'lonlat' and 'icon' properties
- * set in this.data. If no 'lonlat' is set, returns null. If no
- * 'icon' is set, OpenLayers.Marker() will load the default image.
- *
- * Note - this.marker is set to return value
- *
- */
- createMarker: function() {
-
- if (this.lonlat != null) {
- this.marker = new OpenLayers.Marker(this.lonlat, this.data.icon);
- }
- return this.marker;
- },
-
- /**
- * Method: destroyMarker
- * Destroys marker.
- * If user overrides the createMarker() function, s/he should be able
- * to also specify an alternative function for destroying it
- */
- destroyMarker: function() {
- this.marker.destroy();
- },
-
- /**
- * Method: createPopup
- * Creates a popup object created from the 'lonlat', 'popupSize',
- * and 'popupContentHTML' properties set in this.data. It uses
- * this.marker.icon as default anchor.
- *
- * If no 'lonlat' is set, returns null.
- * If no this.marker has been created, no anchor is sent.
- *
- * Note - the returned popup object is 'owned' by the feature, so you
- * cannot use the popup's destroy method to discard the popup.
- * Instead, you must use the feature's destroyPopup
- *
- * Note - this.popup is set to return value
- *
- * Parameters:
- * closeBox - {Boolean} create popup with closebox or not
- *
- * Returns:
- * {<OpenLayers.Popup>} Returns the created popup, which is also set
- * as 'popup' property of this feature. Will be of whatever type
- * specified by this feature's 'popupClass' property, but must be
- * of type <OpenLayers.Popup>.
- *
- */
- createPopup: function(closeBox) {
-
- if (this.lonlat != null) {
- if (!this.popup) {
- var anchor = (this.marker) ? this.marker.icon : null;
- var popupClass = this.popupClass ?
- this.popupClass : OpenLayers.Popup.Anchored;
- this.popup = new popupClass(this.id + "_popup",
- this.lonlat,
- this.data.popupSize,
- this.data.popupContentHTML,
- anchor,
- closeBox);
- }
- if (this.data.overflow != null) {
- this.popup.contentDiv.style.overflow = this.data.overflow;
- }
-
- this.popup.feature = this;
- }
- return this.popup;
- },
-
-
- /**
- * Method: destroyPopup
- * Destroys the popup created via createPopup.
- *
- * As with the marker, if user overrides the createPopup() function, s/he
- * should also be able to override the destruction
- */
- destroyPopup: function() {
- if (this.popup) {
- this.popup.feature = null;
- this.popup.destroy();
- this.popup = null;
- }
- },
-
- CLASS_NAME: "OpenLayers.Feature"
-});