Add API method for changing an icon's marker image.

git-svn-id: http://svn.openlayers.org/trunk/openlayers@4784 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
crschmidt
2007-10-03 16:17:55 +00:00
parent 3d71b4ff4e
commit d29782e3e2
3 changed files with 50 additions and 0 deletions

View File

@@ -106,6 +106,18 @@ OpenLayers.Icon = OpenLayers.Class({
}
this.draw();
},
/**
* Method: setUrl
*
* url - {String}
*/
setUrl: function(url) {
if (url != null) {
this.url = url;
}
this.draw();
},
/**
* Method: draw

View File

@@ -171,6 +171,16 @@ OpenLayers.Marker = OpenLayers.Class({
this.icon.setOpacity(opacity);
},
/**
* Method: setUrl
* Change URL of the Icon Image.
*
* url - {String}
*/
setUrl: function(url) {
this.icon.setUrl(url);
},
/**
* Method: display
* Hide or show the icon

View File

@@ -73,6 +73,34 @@
t.eq(parseFloat(marker.icon.imageDiv.style.opacity), 0.5, "marker.setOpacity() works");
map.destroy();
}
function test_03_Marker_setUrl(t) {
t.plan( 2 );
var map = new OpenLayers.Map("map");
var url = "http://octo.metacarta.com/cgi-bin/mapserv";
layer = new OpenLayers.Layer.WMS(name, url);
map.addLayer(layer);
mlayer = new OpenLayers.Layer.Markers('Test Layer');
map.addLayer(mlayer);
map.zoomToExtent(new OpenLayers.Bounds(-50,-50,50,50));
//onscreen marker
var ll = new OpenLayers.LonLat(0,0);
var marker = new OpenLayers.Marker(ll);
mlayer.addMarker(marker);
t.ok(marker.icon.imageDiv.firstChild.src.contains("img/marker.png"), "Marker.png is default URL");
marker.setUrl("http://example.com/broken.png");
t.eq(marker.icon.imageDiv.firstChild.src, "http://example.com/broken.png", "image source changes correctly.");
map.destroy();
}
function test_04_Marker_moveTo(t) {
t.plan( 6 );