Eugene,
Hi Engene, as Val mentioned, it’s not possible to have the map extent set exactly to the bounding box of a feature.
Let’s say there are two factors affect the extent you set on the map. One is the ratio of the width and height you set for the map. For example, the map’s with : height == 1:1(see figure 1); while the width and height ratio of new extent is not 1:1, so we need to enlarge the extent you set to fit the map's width and height’s ratio. So the new extent for the map will automatically adjust to the bounding box in brown in figure 2.
If we don’t adjust the extent you set, the feature will be rendered as stretched image as you see in figure 3; in another word, you cannot use some pre-cached map server any more such as Google maps or our world map kit server overlay for they cannot stretch.
This is all for the first factor; on the other hand, you may notice there is a client zoom level scales property on the map. This property gets a collection of scale values for the zoom levels on the map. Once you zoom in/out, the map zooms in/out to the upper/lower level on the scale list. When you set the feature’s extent to the map, the scale of the new extent cannot always be in the list exactly. So we need to snap the extent to the closest level of the map. That’s why the map’s extent has a buffer around the extent you set.
Web edition works within the same tiling system with Google maps and Bing maps, its zoom levels are based on the scale list. If we want to set the extent to the one you set exactly, we cannot match the pre-cached map server anymore and your feature will be stretched.
Please let me know if you have more questions.
Thanks,
Howard