一個問題是,混合百分比和像素測量並不容易,因爲不同的屏幕尺寸行爲會有所不同。但可以使用API功能讓地圖在任何尺寸的屏幕上按照您希望的方式行事。
使地圖成爲屏幕大小的100%,因此標題遮擋了地圖的一部分。抑制默認的地圖控件,使其不會出現部分遮擋。創建一個與標題大小相同的空白自定義控件,並將其放置在地圖的頂部。當地圖控件添加回來時,自定義控件會將它們推出平時的位置,以便它們在可見地圖上正確顯示。
var posn=google.maps.ControlPosition; // shorten the reference
// Add empty custom control
var controlDiv = document.createElement('div');
controlDiv.style.width='100%';
controlDiv.style.height='41px';
map.controls[posn.TOP_LEFT].push(controlDiv);
map.controls[posn.TOP_RIGHT].push(controlDiv);
// Add map controls
map.setOptions({
mapTypeControlOptions:{position:posn.RIGHT_TOP},
mapTypeControl:true,
panControlOptions:{position:posn.LEFT_TOP},
panControl:true,
streetViewControlOptions:{position:posn.LEFT_TOP},
streetViewControl:true,
zoomControlOptions:{position:posn.LEFT_TOP},
zoomControl:true
})
http://jsfiddle.net/GTscW/4/
注1:由於地圖是比它看起來(你的情況)實際上41px更大,中心點會比查看地圖的中心高20像素。這可能不值得擔心。如果是,則處理明顯的中心點是another question on SO的主題。
注2:此方法無法獲得固定的頁腳,,因爲Google徽標和條款鏈接始終位於地圖的底部,[當前]不會移動以避免控制。