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:
@@ -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"
|
||||||
};
|
};
|
||||||
@@ -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,17 +38,15 @@ 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";
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user