天天看點

Google 地圖控件集

一個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 = '&lt;b&gt;Home&lt;b&gt;'

controlUI.appendChild(controlText);

Google Maps API 參考手冊.