[OpenLayers-Users] Problem with removeMarker
Linda Rawson
linda.rawson at gmail.com
Sun Mar 16 00:52:01 EDT 2008
I have the following code:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#map {
width: 512px;
height: 512px;
border: 1px solid black;
}
</style>
<script src="http://www.openlayers.org/dev/lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, layer, markerLayer;
function init(){
map = new OpenLayers.Map('map');
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
map.addLayer(layer);
markerLayer = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markerLayer);
var size = new OpenLayers.Size(10,17);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new
OpenLayers.Icon('http://boston.openguides.org/markers/AQUA.png',size,offset);
markerLayer.addMarker(new OpenLayers.Marker(new
OpenLayers.LonLat(0,0),icon));
markerLayer.addMarker(new OpenLayers.Marker(new
OpenLayers.LonLat(30,30),icon.clone()));
markerLayer.addMarker(new OpenLayers.Marker(new
OpenLayers.LonLat(45,45),icon.clone()));
markerLayer.addMarker(new OpenLayers.Marker(new
OpenLayers.LonLat(60,45),icon.clone()));
markerLayer.addMarker(new OpenLayers.Marker(new
OpenLayers.LonLat(90,45),icon.clone()));
markerLayer.addMarker(new OpenLayers.Marker(new
OpenLayers.LonLat(105,45),icon.clone()));
markerLayer.addMarker(new OpenLayers.Marker(new
OpenLayers.LonLat(120,30),icon.clone()));
map.zoomToMaxExtent();
}
function deleteMarkers() {
var myMarkers = markerLayer.markers;
for (mrkCnt = 0; mrkCnt < myMarkers.length; mrkCnt++) {
var myMarker = myMarkers[mrkCnt];
if (myMarker.lonlat.lat == 45) {
markerLayer.removeMarker(myMarker);
}
}
}
</script>
</head>
<body onload="init()">
<h1>OpenLayers Example</h1>
<input type="button" value="Delete Markers with 45" onClick="deleteMarkers();">
<div id="map"></div>
</body>
</html>
It simply adds 7 markers to the map. Then I have a button that should
remove 4 of them leaving me with 3.
It only deletes 2 of the markers and somehow resets the length on the
markers array so that it does not cycle through the rest of the
markers to find the additional markers to delete.
I need the ability to add the same icon over and over what and then
delete it. What am I doing wrong?
--
Linda Rawson
More information about the Users
mailing list