diff --git a/lib/OpenLayers/Marker.js b/lib/OpenLayers/Marker.js index 292a1576e7..7e672f2cd6 100644 --- a/lib/OpenLayers/Marker.js +++ b/lib/OpenLayers/Marker.js @@ -30,7 +30,16 @@ OpenLayers.Marker.prototype = { initialize: function(lonlat, icon) { if (arguments.length > 0) { this.lonlat = lonlat; - this.icon = (icon) ? icon : OpenLayers.Marker.defaultIcon(); + + var newIcon = (icon) ? icon : OpenLayers.Marker.defaultIcon(); + if (this.icon == null) { + this.icon = newIcon; + } else { + this.icon.url = newIcon.url; + this.icon.size = newIcon.size; + this.icon.offset = newIcon.offset; + this.icon.calculateOffset = newIcon.calculateOffset; + } this.events = new OpenLayers.Events(this, this.icon.imageDiv, null); } },