Files
openlayers/lib/OpenLayers/Marker.js
euzuro bf98cb620d give OpenLayers.Marker a destroy()
git-svn-id: http://svn.openlayers.org/trunk/openlayers@501 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2006-06-02 16:37:20 +00:00

94 lines
2.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* @class
*/
OpenLayers.Marker = Class.create();
OpenLayers.Marker.prototype = {
/** @type OpenLayers.Icon */
icon: null,
/** location of object
* @type OpenLayers.LonLat */
lonlat: null,
/** @type OpenLayers.Events*/
events: null,
/** @type OpenLayers.Map */
map: null,
/**
* @constructor
*
* @param {OpenLayers.Icon} icon
* @param {OpenLayers.LonLat lonlat
*/
initialize: function(lonlat, icon) {
this.lonlat = lonlat;
this.icon = (icon) ? icon : OpenLayers.Marker.defaultIcon();
this.events = new OpenLayers.Events(this, this.icon.imageDiv, null);
},
destroy: function() {
this.map = null;
// code to remove HTMLImage will go here
// I realize now that it was not a good
// idea to give OpenLayers.Icon the
// 'imageDiv' property.. that should be
// here. This is on my hot-list to fix
},
/**
* @param {OpenLayers.Pixel} px
*
* @return A new DOM Image with this marker´s icon set at the
* location passed-in
* @type DOMElement
*/
draw: function(px) {
return this.icon.draw(px);
},
/**
* @param {OpenLayers.Pixel} px
*/
moveTo: function (px) {
if ((px != null) && (this.icon != null)) {
this.icon.moveTo(px);
}
},
/**
* @param {float} inflate
*/
inflate: function(inflate) {
if (this.icon) {
var newSize = new OpenLayers.Size(this.icon.size.w * inflate,
this.icon.size.h * inflate);
this.icon.setSize(newSize);
}
},
/** @final @type String */
CLASS_NAME: "OpenLayers.Marker"
};
/**
* @returns A default OpenLayers.Icon to use for a marker
* @type OpenLayers.Icon
*/
OpenLayers.Marker.defaultIcon = function() {
var url = OpenLayers.Util.getImagesLocation() + "marker.png";
var size = new OpenLayers.Size(21, 25);
var calculateOffset = function(size) {
return new OpenLayers.Pixel(-(size.w/2), -size.h);
};
return new OpenLayers.Icon(url, size, null, calculateOffset);
};