Hi,
I've been working on a small "proof of concept" app, which features a single WMS backdrop layer and a layer which the user draws in. For every drawing, I'm transferring the drawn features to a dynamic layer, that is added to the map with DynamicOverlay. The WMS is of course added via the CustomOverlays.
Both work nicely, independently. When added together, the WMS is drawn over my drawing layer, completely obscuring them. It seems that the rendering order favors customoverlay layers for dynamicoverlay layers, i.e. they're drawn on top.
This seems to be a peculiar choice, since wms is most often used as backdrop, and dynamic layers are usually, at least in my mind, data to be displayed on top of other data. And there seems to be no way in MapSuite to change this rendering order ?
I've even looked at the "IsBaseOverlay" setting on the CustomOverlays Overlay objects, but setting it to true doesn't change the overall rendering order.
I've looked at Nelson's post from late January, and the solution suggested there is to add the vectors as a layer in yet another custom overlay instead of as a dynamic overlay layer. It seems to work, but it is not a good work-around, imho.
All this leads me to forward some questions:
- What is the rationale for having CustomOverlays being drawn on top of DynamicOverlay ? Oughn't it be vice-versa ?
- Why can WMS (backdrop) layers only be added as CustomOverlay, if the above cannot be altered ?
- What kind of rendering order does the CustomOverlay.IsBaseOverlay setting control ? Is it able to reorder wrt. DynamicOverlay, so something like the below order can be achieved:
- (top)
- CustomOverlays with IsBaseLayer = False
- DynamicOverlay
- CustomOverlays with IsBaseLayer = True
- (bottom)
Best regards
Lars I. Nielsen, GisPro