1

使用 Google Map API v3 的 fitBounds 函数总是使边界小于画布大小,如下所示:

gMap.fitBounds(bounds);
new google.maps.Rectangle({
                    strokeColor: '#0000FF',
                    strokeOpacity: 0.8,
                    strokeWeight: 1,
                    fillColor: '#0000FF',
                    fillOpacity: 0.05,
                    map: gMap,
                    bounds: bounds
                });

在此处输入图像描述

有没有办法使绑定适合画布大小?

4

2 回答 2

0

您不能总是让边界完全填满画布,因为缩放级别是离散的。也就是说,缩放级别只能设置为整数,而不是分数。

使用gMap.fitBounds()是缩放地图的一种方法,因此整个边界都显示在画布上,但有时它会放大到不必要的程度。如果这不可接受,您可以使用此答案中的函数计算缩放级别。

于 2013-06-22T17:36:46.113 回答
0

自己计算适合您的边界所需的地图中心和缩放,然后使用 map.setOptions({center:calculatedCenter, zoom: computedZoom});

一种可能的方法: 从中心计算边界和缩放(Google Maps API v3)(从中心计算边界和缩放,您需要根据边界和 div 大小计算缩放级别)

于 2013-06-22T13:47:38.500 回答