谷歌地图v3 fitBounds()边界,填充:数字不起作用

时间:2017-06-10 15:11:44

标签: javascript google-maps google-maps-api-3

我试图理解fitBounds()方法的填充选项究竟是什么。

map.fitBounds(bounds, 100);

根据这里的文档,100的选项被称为添加填充(至少我是如何读取的): https://developers.google.com/maps/documentation/javascript/reference

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

它们在每个实现中似乎有所不同,但是一旦达到某个数值,它们就会出现“跳跃”问题。

我的问题是padding选项实际上做了什么?看起来很不一致。如果它在小提琴上是10或20或30它似乎保持不变,当你击中40个东西时跳跃。我还尝试了{padding:50}{padding:[50,50]}关于此特定问题的大量信息。

1 个答案:

答案 0 :(得分:4)

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

API可以使用两种方法来确保在Map中显示特定的边界框:

  1. 调整地图元素的大小 - 这可能会影响您网页的布局,因此选项不佳。

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

  3. 当您使用40的填充时,您看到的地图跳转的效果是因为这是将导致缩放级别更改整数值的最小填充量。由于API不支持小数缩放,因此小于此数量的任何内容都不会导致地图的外观发生变化。