好的,这是情况: 我有一个相对较小的350px x 350px的地图。我有一个州的所有国会选区的协调数据。我创建了一个带有控件的谷歌地图,允许我选择一个地区类型(州议会,州参议院,我们的房子),然后选择一个特定的地区。这将触发一个事件,该事件又执行一个函数,该函数可以检索描述该区域的坐标数据,从数据中创建多边形并将其显示在地图上。所有这一切都很好,除了这样一个事实,即各种各样的形状和尺寸有时会导致多边形太小(或者太大,取决于缩放级别)。我曾多次尝试找到动态调整地图边界的方法无济于事。这是我最近的尝试。不幸的是,fitBounds将坚持添加那令人愤怒的填充。有人可以帮忙吗?也许一个三角天才有一个解决方案?我还应该提到所有用户控件都被禁用,因为这是为了自动生成PDF。
PdfGenerator.data.currentPolygon.setMap(PdfGenerator.data.smallMap);
overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap(PdfGenerator.data.smallMap);
google.maps.event.addListenerOnce(PdfGenerator.data.smallMap, 'idle', function() {
swCoords = overlay.getProjection().fromDivPixelToLatLng(
new google.maps.Point(0, 350)
);
neCoords = overlay.getProjection().fromDivPixelToLatLng(
new google.maps.Point(350, 0)
);
var bounds = PdfGenerator.data.currentBounds;
bounds.extend(swCoords);
bounds.extend(neCoords);
PdfGenerator.data.smallMap.fitBounds(
bounds
);
});