The ESRI Silverlight and WPF API's both have a Map.SnapToLevels property that can be set on or off. It "gets or sets whether zooming will snap to scale levels if the map contains cached layers". But with the JS API, you always snap to levels and there appears to be no way to turn that behavior off. Is there a way to disable the snap to levels behavior in the JS API?

Or can someone provide the rationale behind ESRI's decision to not include that property in the JS API? (I'd like to be able to explain why I cannot provide the same type of zooming in JS API as with WPF API.)


To quote from the WPF help on Map.SnapToLevels:

Tiled layers will automatically interpolate images when displaying layers at resolutions in between levels.

Since the javascript maps are rendered directly in the browser, instead of behind a plugin like silverlight. There may not be a way through JavaScript to interpolate images in older browsers that don't support canvas elements.

There is a way to view tiled layers at any resolution, however. If you load the tiled layer as an ArcGISDynamicServiceLayer, you can zoom in to any resolution, and not have to worry about your scale being between tiled layers.

The only problem is that if you call it an ArcGISDynamicServiceLayer, you lose the quick response of a tiled service layer. That's because the server is having to render the layer as if it was dynamic. If you're running a site with enough traffic, your server will be bogged down with dynamic requests to your tiled service.

  • Thanks! It's good to know that there is a solid, performance-related reason for it being the way it is. Nov 14 '13 at 16:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.