ThinkGeo.com    |     Documentation    |     Premium Support

Zoom to extent

 Why is it that, when you set the map's extent or zoom to an extent, that it places the selected extent with a 20% margin around it (in staid of fitting the selected extent more accurately into the map)?


Is there a way to set the "buffer" or margin around the selected extent so that the selected extent (feature) fits exactly into the map?



 You have to be aware that there is always going to be margins on the map compared to the extent that you set unless you have exactely the same ratio width/height for the exent as for the map. We make the extent fit the map as much as it is geometrically possible. Please see the picture for illustrating. I hope I addressed the concern you have.




 i am well aware of the the phenomena, but i'll illustrate with an example: from the online samples(Zoom in to a feature you clicked ):


Here is the map before:



Then i click on Algeria:



As you will see it always places a margin around the selected feature. Is there no way of getting that margin smaller so that it fits the extent exactly into the map?



 I think that this is not possible to have the map extent set exactely to the bounding box of a feature.  Due to the nature of the Web edition with tiling, the map automatically snaps to the closest upper zoom level of the extent that you set. You will have a follow up answer directely from the web team on that subject for more detailed explanations.


 Also, I let you know that we published a Web edition sample in the Code Community that does what you are describing. If you are interested, you can check the sample Zoom In to Feature.


code.thinkgeo.com/projects/show/zoomintofeature


 



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