MapScript: index of new layers
Stephen Lime
steve.lime at dnr.state.mn.us
Tue Jul 25 09:32:57 PDT 2000
Finally someone noticed. Right now you can't. This is an artifact of the original code that uses
an array of layers rather than a linked list. It's on the "todo" list. It is possible to work around
it as there is nothing that says that you must draw layers in the order that they appear. The
main $map->draw() method assumes this but you can step through the layers in any order
you wish and use $layer->draw() to build up the map. For example you could maintain an
array of layer names in the order they should be drawn:
# load map and add to it (layers, extents, etc...)
@layers = {'county', 'water', 'places', 'roads'};
$img = $map->prepareImage();
foreach $name (@layers) {
$layer = $map->getLayerByName($name);
$layer->draw(...);
}
$map->drawLabelCache($img);
Another possiblity is to store 'dummy' layers as placeholders in the main map file and then
edit their definitions instead of starting from scratch. This way the main $map->draw() method
will work since the order was set in the map file.
Steve
Stephen Lime
Internet Applications Analyst
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
>>> "Michael Anderson" <m_anderson14 at hotmail.com> 07/25/00 11:18AM >>>
Hello,
When you add a new layer to a map using MapScript, how can you control the
new layers index relative to the existing layers in the .map file? The new
layer is drawing on top and obscuring the rest of the layers.
Mike
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
More information about the MapServer-users
mailing list