ThinkGeo.com    |     Blog    |     Wiki    |     Support

Initial zoom level for server side rendering

Hi,


We have few raster map files representing certain area which we load using serverLayerOverlay at server side and are added to map control at client side. when we set the map control's current extent to whatever we get using GetBoundingBox at server side, map loads properly. But initial zoom level itself is at very high such that we can zoom in only few levels further. With this, we are not able to zoom in further though map files have the content to render tiles of next zoom levels.


Please let us know how to load the map files such that control shows the first zoom level tiles and zoom level bar is also the bottom.


Thanks & Regards,


-Muneswar



Hi Muneswar,


Thanks for your question!

If you need to zoom in closer than the scales provided by the default ZoomLevelSet you can setup a new ZoomLevelSet that uses the scales you desire. Below is a sample where I retained the stock scales for ZoomLevels01 to 16, but replaced ZoomLevels17 through 20 with my own values.


ZoomLevelSet customZL = new ZoomLevelSet();
customZL.ZoomLevel01.Scale = Map1.ZoomLevelSet.ZoomLevel01.Scale;
customZL.ZoomLevel02.Scale = Map1.ZoomLevelSet.ZoomLevel02.Scale;
customZL.ZoomLevel03.Scale = Map1.ZoomLevelSet.ZoomLevel03.Scale;
customZL.ZoomLevel04.Scale = Map1.ZoomLevelSet.ZoomLevel04.Scale;
customZL.ZoomLevel05.Scale = Map1.ZoomLevelSet.ZoomLevel05.Scale;
customZL.ZoomLevel06.Scale = Map1.ZoomLevelSet.ZoomLevel06.Scale;
customZL.ZoomLevel07.Scale = Map1.ZoomLevelSet.ZoomLevel07.Scale;
customZL.ZoomLevel08.Scale = Map1.ZoomLevelSet.ZoomLevel08.Scale;
customZL.ZoomLevel09.Scale = Map1.ZoomLevelSet.ZoomLevel09.Scale;
customZL.ZoomLevel10.Scale = Map1.ZoomLevelSet.ZoomLevel10.Scale;
customZL.ZoomLevel11.Scale = Map1.ZoomLevelSet.ZoomLevel11.Scale;
customZL.ZoomLevel12.Scale = Map1.ZoomLevelSet.ZoomLevel12.Scale;
customZL.ZoomLevel13.Scale = Map1.ZoomLevelSet.ZoomLevel13.Scale;
customZL.ZoomLevel14.Scale = Map1.ZoomLevelSet.ZoomLevel14.Scale;
customZL.ZoomLevel15.Scale = Map1.ZoomLevelSet.ZoomLevel15.Scale;
customZL.ZoomLevel16.Scale = Map1.ZoomLevelSet.ZoomLevel16.Scale;
customZL.ZoomLevel17.Scale = 750;
customZL.ZoomLevel18.Scale = 500;
customZL.ZoomLevel19.Scale = 250;
customZL.ZoomLevel20.Scale = 100;

Map1.ZoomLevelSet = customZL;

Important: If you have other Layer objects that you want to follow same ZoomLevels as your Map you need to be sure to apply your new ZoomLevel to EACH of those layers. Setting the Map's ZoomLevelSet does not cause the Layers that are added to the Map to use the same ZoomLevelSet, you MUST set this for each Layer object or you will get unexpected results.


Here is a screen shot where I zoomed in to a MrSid image down to a scale of 100: