Hi,
I'm wanting to control the amount that a user can zoom in for a tiled service, the reason is that some other data is being overlayed but I don't want users to see the physical address associated which they can if they zoom in far enough.
Setting the MinimumResolution on the layer or all layers just stops them drawing instead of stopping the zoom. Also there is no way to cancel an extent change event.
I've also tried to remove some LODs from the Tiled service which does stop the tile images from updating but the user can still zoom in and the images are resampled (not nice). I tried SnapToLevels but it didn't make a difference.
Currently the best hack I've found is to do this
void MapExtentChanging(object sender, ExtentEventArgs e)
{
var newResolution = (e.NewExtent.Extent.Width / Map.ActualWidth);
if (newResolution < 5)
Map.Extent = e.OldExtent.Extent;
}
but the UX isn't great as there's a bit of a jutter still when trying to zoom in.
Any ideas how to do this better? I know I could have another service with the correct LODs but that isn't possible in this instance.
Regards,