move 'image' member from marker down to Icon.

git-svn-id: http://svn.openlayers.org/trunk/openlayers@446 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
euzuro
2006-05-29 11:59:14 +00:00
parent acb8dadd71
commit bf5b1f3171
2 changed files with 37 additions and 17 deletions
+32
View File
@@ -15,6 +15,9 @@ OpenLayers.Icon.prototype = {
* @type OpenLayers.Pixel */ * @type OpenLayers.Pixel */
offset: null, offset: null,
/** @type DOMElement */
image: null,
/** /**
* @constructor * @constructor
* *
@@ -27,6 +30,13 @@ OpenLayers.Icon.prototype = {
this.url = url; this.url = url;
this.offset = (offset) ? offset this.offset = (offset) ? offset
: new OpenLayers.Pixel(0,0); : new OpenLayers.Pixel(0,0);
this.image = OpenLayers.Util.createAlphaImageDiv(null,
null,
this.size,
this.url,
"absolute"
);
}, },
/** /**
@@ -37,6 +47,28 @@ OpenLayers.Icon.prototype = {
return new OpenLayers.Icon(this.size, this.url, this.offset); return new OpenLayers.Icon(this.size, this.url, this.offset);
}, },
/**
* @param {OpenLayers.Pixel} px
*
* @return A new DOM Image of this icon set at the location passed-in
* @type DOMElement
*/
draw: function(px) {
this.moveTo(px);
return this.image;
},
/**
* @param {OpenLayers.Pixel} px
*/
moveTo: function (px) {
if ((px != null) && (this.image != null)) {
offsetPx = px.offset(this.offset);
this.image.style.left = offsetPx.x + "px";
this.image.style.top = offsetPx.y + "px"
}
},
/** @final @type String */ /** @final @type String */
CLASS_NAME: "OpenLayers.Icon" CLASS_NAME: "OpenLayers.Icon"
}; };
+5 -17
View File
@@ -17,9 +17,6 @@ OpenLayers.Marker.prototype = {
/** @type OpenLayers.Map */ /** @type OpenLayers.Map */
map: null, map: null,
/** @type DOMElement */
image: null,
/** /**
* @constructor * @constructor
* *
@@ -28,16 +25,9 @@ OpenLayers.Marker.prototype = {
*/ */
initialize: function(lonlat, icon) { initialize: function(lonlat, icon) {
this.lonlat = lonlat; this.lonlat = lonlat;
this.icon = (icon) ? icon : OpenLayers.Marker.defaultIcon(); this.icon = (icon) ? icon : OpenLayers.Marker.defaultIcon();
this.image = OpenLayers.Util.createAlphaImageDiv(null, this.events = new OpenLayers.Events(this, this.icon.image, null);
null,
this.icon.size,
this.icon.url,
"absolute"
);
this.events = new OpenLayers.Events(this, this.image, null);
}, },
/** /**
@@ -48,18 +38,16 @@ OpenLayers.Marker.prototype = {
* @type DOMElement * @type DOMElement
*/ */
draw: function(px) { draw: function(px) {
this.moveTo(px); return this.icon.draw(px);
return this.image;
}, },
/** /**
* @param {OpenLayers.Pixel} px * @param {OpenLayers.Pixel} px
*/ */
moveTo: function (px) { moveTo: function (px) {
if ((px != null) && (this.image != null)) { if ((px != null) && (this.icon != null)) {
this.image.style.top = (px.y + this.icon.offset.y) + "px" this.icon.moveTo(px);
this.image.style.left = (px.x + this.icon.offset.x) + "px"; }
}
}, },
/** @final @type String */ /** @final @type String */