<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta name="apple-mobile-web-app-capable" content="yes"> <title>Resize a Marker</title> <link rel="stylesheet" href="../theme/default/style.css" type="text/css"> <link rel="stylesheet" href="style.css" type="text/css"> <script src="../lib/OpenLayers.js"></script> <script type="text/javascript"> var map, layer; var size, icon; function init(){ map = new OpenLayers.Map('map'); layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} ); map.addLayer(layer); var markers = new OpenLayers.Layer.Markers( "Markers" ); map.addLayer(markers); size = new OpenLayers.Size(21, 25); calculateOffset = function(size) { return new OpenLayers.Pixel(-(size.w/2), -size.h); }; icon = new OpenLayers.Icon( 'http://www.openlayers.org/dev/img/marker.png', size, null, calculateOffset); markers.addMarker( new OpenLayers.Marker(new OpenLayers.LonLat(-71,40), icon)); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.zoomToMaxExtent(); } function resize() { size = new OpenLayers.Size(size.w + 10, size.h + 10); icon.setSize(size); } </script> </head> <body onload="init()"> <h1 id="title">Resize a Marker</h1> <div id="tags"> animation, resizing, style, size </div> <div id="shortdesc">Dynamically resize a marker</div> <div id="map" class="smallmap"></div> <div id="docs"> <p>This example shows how to create a OpenLayers.Layer.Markers layer, add an icon, put it into a marker, and add the marker to the layer. Once the marker has been added it is possible to use setSize() on the icon in order to resize the marker.</p> </div> <div style="background-color:purple" onclick="resize()"> click to resize marker</div> </body> </html>