Am at my wit's end trying to remove a layer. Would welcome any suggestion on 
the following. Essentially, I want to remove a layer called "foo" from my map, 
so I may redraw "foo" with new data.


On Sep 25, 2011, at 9:04 AM, Mr. Puneet Kishor wrote:

> I spoke too soon...
> 
> On Sep 24, 2011, at 3:58 PM, Mr. Puneet Kishor wrote:
> 
>> I would like to remove a layer by name. The only method I see for removing 
>> layer seems to take a layer object, which implies something like so
>> 
>>   var lyr_list = map.getLayersByName(name);
>> 
>> Why does the above return a list? Under what use case would one have more 
>> than one layer by the same name? In any case, I have all layers with unique 
>> names, so the list would always have only one element.
>> 
>>   map.removeLayer(lyr_list[0]);
>> 
>> The above works, but is there a more efficient or better way?
> 
> 
> Here is my code that does not work
> 
>    var lyrs = map.getLayersByName("a_layer");
>    alert("got " + typeof(lyrs[0]) + 
>        " called " + lyrs[0].name + 
>        " with id " + lyrs[0].id);
>    map.removeLayer(lyrs[0]);
> 
> The alert window shows the correctly that it got an object with the right 
> layer name and id. Yet, the layer is not removed from the map... at least, it 
> is still visible, so when the new layer draws, I see a mess of features.
> 
> What is my error?
> 
> Thanks,
> 
> Puneet.

_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users

Reply via email to