一個Google 地圖 - 預設控件集設定:
當使用一個标準的google地圖,它的預設設定如下:
.Zoom-顯示一個滑動條來控制map的Zoom級别
.PPan-地圖上顯示的是一個平底碗樣的控件,點選4個角平移地圖
.MapType-允許使用者在map types(roadmap 和 satallite)之間切換
.StreetView-顯示為一個街景小人圖示,可拖拽到地圖上某個點來打開街景
除了以上預設控件集,Google還有:
.Scale-顯示地圖比例尺
.Rotate-顯示一個小的圓周圖示,可以轉動地圖
.verview Map-從一個廣域的視角俯視地圖
建立地圖時你可以通過設定選項指定哪些控件集顯示或者通過調用 setOptions() 來改變地圖的設定選項。
你可能希望能夠關閉預設的控件集。
為了關閉預設控件集,設定地圖的disableDefaultUI的屬性為true:
disableDefaultUI:true
一些控件集預設顯示在地圖上,而其它的不會,除非你設定它們。
設定控件為true使其可見-設定控件為false則隐藏它。
以下執行個體開啟所有的控件:
panControl:true,
zoomControl:true,
mapTypeControl:true,
scaleControl:true,
streetViewControl:true,
overviewMapControl:true,
rotateControl:true
某些地圖控件是可配置的。通過制定控件選項域改變控件集。
F舉個例子來說,修改Zoom 控件的選項在zoomControlOptions指定。zoomControlOptions包含如下3種選項:
.google.maps.ZoomControlStyle.SMALL-顯示最小化zoom 控件
.google.maps.ZoomControlStyle.LARGE-顯示标準zoom滑動控件
.google.maps.ZoomControlStyle.DEFAULT-基于裝置和地圖大小,選擇最合适的控件
zoomControlOptions:
{
style:google.maps.ZoomControlStyle.SMALL
}
<b>注意:</b> 如果需要修改一個控件,首先開啟控件(設定其為true)。
另一個控件為 MapType 控件。
MapType 控件可顯示為以下 style 選項之一:
google.maps.MapTypeControlStyle.HORIZONTAL_BAR,用于在水準欄中将一組控件顯示為如 Google Maps 中所示按鈕。
google.maps.MapTypeControlStyle.DROPDOWN_MENU,用于顯示單個按鈕控件,以便您從下拉菜單中選擇地圖類型。
google.maps.MapTypeControlStyle.DEFAULT,用于顯示"預設"的行為,該行為取決于螢幕尺寸,并且可能會在 API 以後的版本中有所變化。
mapTypeControlOptions: {
style:google.maps.MapTypeControlStyle.DROPDOWN_MENU
同樣你可以使用ControlPosition屬性指定控件的位置:
style:google.maps.MapTypeControlStyle.DROPDOWN_MENU,
position:google.maps.ControlPosition.TOP_CENTER
建立一個傳回倫敦自定義控件,用于點選事件:
(如果地圖被拖拽):
controlDiv.style.padding = '5px';
var controlUI = document.createElement('div');
controlUI.style.backgroundColor = 'yellow';
controlUI.style.border='1px solid';
controlUI.style.cursor = 'pointer';
controlUI.style.textAlign = 'center';
controlUI.title = 'Set map to London';
controlDiv.appendChild(controlUI);
var controlText = document.createElement('div');
controlText.style.fontFamily='Arial,sans-serif';
controlText.style.fontSize='12px';
controlText.style.paddingLeft = '4px';
controlText.style.paddingRight = '4px';
controlText.innerHTML = '<b>Home<b>'
controlUI.appendChild(controlText);
Google Maps API 參考手冊.