2017-06-10 75 views
2

我想了解fitBounds()方法的填充选项完全是什么。谷歌地图v3 fitBounds()边界,填充:号码不工作

map.fitBounds(bounds, 100); 

100的选项表示根据这里的文档添加填充(至少这是我怎么读它): https://developers.google.com/maps/documentation/javascript/reference

,但我已经添加了各种数字,似乎什么也没得到(在我的使用项目中),除非它是100增量,这太多了。 我设置了一个JS小提琴,以显示填充选项的功能在这里:http://fiddle.jshell.net/sc9bc4ab/

他们似乎是不同的每个实现,但他们有相同的问题,“跳跃”,一旦你达到一定的数值​​。

我的问题是填充选项实际上做了什么?这似乎很不一致。如果它是10或20或30的小提琴,它似乎保持不变,当你打40个东西跳。我也试过{padding:50}{padding:[50,50]}只是没有很多关于这个特定问题的信息。

回答

3

Google Maps API实现了一个谨慎缩放级别的系统(单击放大/缩小按钮,注意地图跳跃的数量非常大)。

有迹象表明,该API可以用它来确保特定边界框在地图中显示两种方法:

  1. 调整地图元素 - 这可能弄乱你的页面的布局,所以是一个糟糕的选择。

  2. 将边界上的地图居中,然后选择“最佳”适合Map元素大小内边界框的缩放级别。 这个是API的功能。

你所看到的效果,其中,当您使用的40填充地图上跳跃,是因为这是会导致缩放级别由一个完整的整数值以改变填充量最小。由于API不支持分数缩放,因此小于此数值的任何内容都不会导致地图外观发生变化。

+1

所以在这里关注填充只会影响缩放级别。看起来有点没用,因为你永远不会知道什么是合适的填充量来影响缩放。然后再次猜测,直到“最佳”显示与缩放相关为止。感谢您的好解释! – lscmaro