My favorites | 中文(繁體) | Sign in
英文版或許有比此中譯版新的內容

Google 地圖 API 專業版

同樣好用的地圖,再加上 SLA、支援以及廣告的控制

Google 地圖 API 參考文件

「Google 地圖 API」現在已經和 Google AJAX API 載入程式整合,後者會建立共用的命名空間以載入和使用多個「Google AJAX API」。此架構允許您為目前在「Google 地圖 API」中使用的所有類別、方法以及 Property 使用選用的 google.maps.* 命名空間,以此命名空間取代一般的 G 首碼。但也請放心,Google 仍會繼續支援現有的 G 命名空間。


例如,「Google 地圖 API」中的 GMap2 物件也可以定義為 google.maps.Map2


請注意,此參考說明只參照了現有的 G 命名空間。

如果您要使用地圖來顯示內容,則需要知道這些類別、類型以及函式:

如果要藉由實作自己的控制項、疊加層或地圖類型,來擴充地圖 API 的功能性,那麼您也需要瞭解這些類別和類型:

class GMap2

具現化 GMap2 以建立地圖。這是 API 的中心類別,任何其他東西都是附屬的。

建構函式

建構函式 說明
GMap2(container:Node, opts?:GMapOptions) 在指定 HTML 容器中建立新地圖,此容器通常是 DIV 元素。如果在選用的引數opts.mapTypes 中沒有指定地圖類型集,則會使用預設的 G_DEFAULT_MAP_TYPES 集合。如果在選用的引數 opts.size 中沒有指定大小,則會使用 container 的大小。如果指定 opts.size,則地圖的容器元素會適時調整大小。請參閱 class GMapOptions。注意:要使用地圖之前,必須將它置中。您要立即呼叫 GMap2.setCenter() 來初始化以此建構函式建立的地圖。

方法

設定

方法 傳回值 說明
enableDragging() None 啟用地圖的拖曳 (預設會啟用)。
disableDragging() None 停用地圖的拖曳。
draggingEnabled() Boolean 傳回 true(在啟用拖曳地圖的情形下)。
enableInfoWindow() None 啟用地圖上的資訊視窗操作 (預設會啟用)。
disableInfoWindow() None 關閉資訊視窗 (在開啟的情形下),並停用開啟新的資訊視窗。
infoWindowEnabled() Boolean 傳回 true(在啟用資訊視窗的情形下)。
enableDoubleClickZoom() None 啟用按兩下來進行放大和縮小 (預設會啟用)。

(從 2.58 開始)

disableDoubleClickZoom() None 停用按兩下來進行放大和縮小。

(從 2.58 開始)

doubleClickZoomEnabled() Boolean 傳回 true(在啟用按兩下以進行縮放的情形下)。

(從 2.58 開始)

enableContinuousZoom() None 為選取的瀏覽器啟用連續平滑縮放 (預設會停用)。

(從 2.58 開始)

disableContinuousZoom() None 停用連續平滑縮放。

(從 2.58 開始)

continuousZoomEnabled() Boolean 傳回 true(在啟用連續平滑縮放的情形下)。

(從 2.58 開始)

enableGoogleBar() None 啟用 GoogleBar,它是整合至地圖的搜尋控制項。啟用時,此控制項位於原本是「Google 技術提供」標誌的位置。請注意,此控制項預設不會啟用。

(從 2.92 開始)

disableGoogleBar() None 停用 GoogleBar 整合搜尋控制項。停用時,預設的「Google 技術提供」標誌會位於之前包含此控制項的位置。請注意,預設已停用此控制項。

(從 2.92 開始)

enableScrollWheelZoom() None 啟用使用滑鼠滾輪進行縮放。注意:預設會停用滑鼠滾輪縮放功能。

(從 2.78 開始)

disableScrollWheelZoom() None 停用使用滑鼠滾輪進行縮放。注意:預設會停用滑鼠滾輪縮放功能。

(從 2.78 開始)

scrollWheelZoomEnabled() Boolean 傳回指出是否啟用滾輪縮放的 Boolean 值。

(從 2.78 開始)

控制項

方法 傳回值 說明
addControl(control:GControl, position?:GControlPosition) None 將控制項加入地圖。地圖上的位置是由選用的 position 引數來決定。如果沒有此引數,則會使用控制項的預設位置,也就是由 GControl.getDefaultPosition() 方法所決定。同一個控制項實例只能在地圖上加入一次。
removeControl(control:GControl) None 從地圖移除控制項。如果控制項沒有加入地圖,此項不會執行任何動作。
getContainer() Node 傳回包含地圖的 DOM 物件。由 GControl.initialize() 所使用。

地圖類型

方法 傳回值 說明
getMapTypes() GMapType[] 傳回此地圖註冊的地圖類型陣列。
getCurrentMapType() GMapType 傳回目前選取的地圖類型。
setMapType(type:GMapType) None 選取指定的新地圖類型。必須是地圖已知的類型。請參閱建構函式,以及方法 addMapType()
addMapType(type:GMapType) None 將新地圖類型加入地圖。請參閱 GMapType 章節,查看如何定義自訂地圖類型。
removeMapType(type:GMapType) None 從地圖移除地圖類型。會更新 GMapTypeControlGHierarchicalMapTypeControl 顯示的按鈕集,並引發 removemaptype 事件。

地圖狀態

方法 傳回值 說明
isLoaded() Boolean 傳回 true(在地圖建立時是由 setCenter() 初始化的情形下)。
getCenter() GLatLng 傳回地圖檢視中心點的地理座標。
getBounds() GLatLngBounds 以地理座標傳回地圖檢視的可視矩形區域。
getBoundsZoomLevel(bounds:GLatLngBounds) Number 傳回指定矩形區域符合地圖檢視的縮放等級。為目前選取的地圖類型計算出縮放等級。如果未選取地圖類型,則會使用地圖類型清單中的第一個。
getSize() GSize 傳回地圖檢視的大小 (以像素為單位)。
getZoom() Number 傳回目前的縮放等級。
getDragObject() GDraggableObject 傳回此地圖使用的可拖曳物件。

(從 2.93 開始)

getEarthInstance(callback:Function(instance: GEPlugin)) None 抓取附加至此地圖的「Google 地球 Browser Plugin」的實例,並於該實例準備好接收命令時,呼叫已傳送的回呼函式,將地球實例 (即 GEPlugin 物件) 做為參數傳送。

如果該地球函式之前已透過 GMap2.setMapType(G_SATELLITE_3D_MAP) 設定「Google 地球」地圖類型來進行具現化,則會立即引發回呼函式。如果實例尚未建立,則呼叫 getEarthInstance 會初始化「Google Earth Plug-in」。(因為有這個非同步的行為,所以此方法需要進行回呼。)

注意:如果初始化過程發生錯誤,回呼函式會傳送 null 參數。

請注意,此方法建立「地球」實例時,不會將「地球」地圖類型設定為目前的檢視。要這麼做,請明確地呼叫 GMap2.setMapType(G_SATELLITE_3D_MAP),或允許使用者透過 MapTypeControl 選取此地圖類型。請參閱 Google 地球 API 開發人員的指南,以取得如何使用 GEPlugin 物件的詳細資料。

(從 2.113 開始)

修改地圖狀態

方法 傳回值 說明
setCenter(center:GLatLng, zoom?:Number, type?:GMapType) None 設定地圖檢視為指定的中心。也可選擇性地設定縮放等級和地圖類型。必須是地圖已知的地圖類型。請參閱建構函式,以及方法 addMapType()。在建構函式設定地圖的初始狀態後,必須先呼叫此方法。如果先叫用此函式、才在新建構的 GMap2 物件上呼叫操作,會發生錯誤。
panTo(center:GLatLng) None 變更地圖的中心點為指定的點。如果點已經可以在目前地圖檢視中看到,則會以平滑動畫的方式變更中心。
panBy(distance:GSize) None 按指定距離 (以像素為單位) 開始移動動畫。
panDirection(dx:one of -1 0 +1, dy:one of -1 0 +1) None 以指出的導航按地圖寬度的一半距離,開始移動動畫。+1-1 分別是向右和向下以及向左和向上。
setZoom(level:Number) None 設定縮放等級為指定的新值。
zoomIn() None 縮放等級加 1。
zoomOut() None 縮放等級減 1。
savePosition() None 儲存目前的地圖位置和縮放等級,後續可使用 returnToSavedPosition() 來呼叫。
returnToSavedPosition() None 還原 savePosition() 儲存的地圖檢視。
checkResize() None 通知地圖關於其容器的大小變更。在容器 DOM 物件變更大小後呼叫此方法,可讓地圖本身調整大小以符合新的容器大小。

疊加層

方法 傳回值 說明
addOverlay(overlay:GOverlay) None 新增疊加層至地圖,並引發 addoverlay 事件。
removeOverlay(overlay:GOverlay) None 從地圖移除疊加層。如果嘗試移除不在地圖上的疊加層,會發生錯誤。如果呼叫成功,則會引發 removeoverlay 事件。
clearOverlays() None 移除地圖上的所有疊加層,並引發 clearoverlays 事件。
getPane(pane:GMapPane) Node 傳回在 pane 識別的圖層中容納該物件的 DIV。由 GOverlay 實例在方法 GOverlay.initialize() 實例中使用,在地圖上繪製其本身。

資訊視窗

方法 傳回值 說明
openInfoWindow(latlng:GLatLng, node:Node, opts?:GInfoWindowOptions) None 在指定點開啟簡單資訊視窗。移動地圖,以完整顯示開啟的資訊視窗。資訊視窗的內容指定為 DOM 節點。
openInfoWindowHtml(latlng:GLatLng, html:String, opts?:GInfoWindowOptions) None 在指定點開啟簡單資訊視窗。移動地圖,以完整顯示開啟的資訊視窗。資訊視窗的內容指定為 HTML 文字。
openInfoWindowTabs(latlng:GLatLng, tabs:GInfoWindowTab[], opts?:GinfoWindowOptions) None 在指定點開啟標籤式資訊視窗。移動地圖,以完整顯示開啟的資訊視窗。資訊視窗的內容指定為 DOM 節點。
openInfoWindowTabsHtml(latlng:GLatLng, tabs:GInfoWindowTab[], opts?:GInfoWindowOptions) None 在指定點開啟標籤式資訊視窗。移動地圖,以完整顯示開啟的資訊視窗。資訊視窗的內容指定為 HTML 文字。
showMapBlowup(latlng:GLatLng, opts?:GInfoWindowOptions) None 在指定點開啟資訊視窗,該指定點包含地圖上這個點附近的特寫。
updateInfoWindow(tabs:GInfoWindowTab[], onupdate?:Function) None 更新目前開啟 GInfoWindow 物件的內容,而不會重新放置其位置。調整資訊視窗的大小以符合新內容。在資訊視窗的內容實際變更後,會呼叫選用的 onupdate 回呼函式。

(從 2.85 開始)

updateCurrentTab(modifier:Function, onupdate?:Function) None 更新目前選取的標籤,會讓 GInfoWindow 物件調整大小,而不會重新放置其位置。modifier 函式用來修改目前選取的標籤,並將 GInfoWindowTab 做為引數傳送。在資訊視窗顯示新的內容後,會呼叫選用的 onupdate 回呼函式。

(從 2.85 開始)

closeInfoWindow() None 關閉目前開啟的資訊視窗。
getInfoWindow() GInfoWindow 傳回此地圖的資訊視窗物件。如果資訊視窗尚未存在,則會建立它,但不會顯示。此操作不會受到 enableInfoWindow() 的影響。

座標轉換

方法 傳回值 說明
fromContainerPixelToLatLng(pixel:GPoint) GLatLng 在 DOM 元素 (包含網頁上的地圖) 的指定像素座標點計算地理座標。如果要以地圖實作自訂控制項的互動,這個項目就十分有用。
fromLatLngToContainerPixel(latlng:GLatLng) GPoint 在 DOM 元素 (包含地圖的頁面) 的指定地理點計算像素座標。

(從 2.100 開始)

fromLatLngToDivPixel(latlng:GLatLng) GPoint 在 DOM 元素 (包含可拖曳的地圖) 的指定地理點計算像素座標。為自訂疊加層實作 GOverlay.redraw() 時,您需要此方法來放置自訂的疊加層。
fromDivPixelToLatLng(pixel:GPoint) GLatLng 從 div (包含可拖曳的地圖) 中的像素座標計算地理座標。如果要在不會擴充 GOverlay 介面的自訂疊加層之間互動,這個項目就十分有用。如果您沒有獲得預期的輸出,請改用 fromContainerPixelToLatLng 方法。

事件

Event 說明
addmaptype(type:GMapType) 地圖類型新增至地圖時,會引發此事件。
removemaptype(type:GMapType) 從地圖移除地圖類型時,會引發此事件。
click(overlay:GOverlay, latlng:GLatLng, overlaylatlng:GLatLng) 使用者在地圖上按一下滑鼠時,會引發此事件。click 事件會根據點擊情境,以及根據可點擊的疊加層上有否發生點擊,而傳送不同的引數。如果在可點擊的疊加層上發生點擊的話,則 overlay 引數為 null,而 latlng 引數會包含點擊點的地理座標。如果使用者在 clickable 的疊加層 (例如 GMarkerGPolygonGPolylineGInfoWindow) 上按一下,則 overlay 引數會包含疊加層物件,而 overlaylatlng 引數會包含遭到點擊的疊加層座標。再者,疊加層本身也會引發 click 事件。
dblclick(overlay:GOverlay, latlng:GLatLng) 在地圖上按兩下時,會引發此事件。請注意,如果在標記或其他可點擊的疊加層上按兩下,並不會引發此事件。按兩下的點,其地理座標會以 latlng 引數傳送。overlay 引數會設定為 null

(從 2.83 開始)

singlerightclick(point:GPoint, src:Element, overlay?:GOverlay) 地圖容器引發 DOM contextmenu 事件時,會引發此事件。如果在標記或其他可點擊的疊加層上按一下滑鼠右鍵,則疊加層會以 overlay 引數傳給事件處理常式。以滑鼠右鍵按一下點的像素座標 (在容納地圖的 DOM 元素中),而 DOM 事件的來源元素會分別以 pointsrc 引數傳入。請注意,如果是按兩下滑鼠右鍵,而且已啟用按兩下以進行縮放的功能,則地圖會縮小,而不會引發 singlerightclick 事件。不過,如果停用按兩下以進行縮放,則會引發兩個 singlerightclick 事件。

(從 2.84 開始)

movestart() 地圖檢視開始變更時,會引發此事件。這可能是因為拖曳而引起 (在此情況下,也會引發 dragstart 事件),或者因為叫用變更地圖檢視的方法而引起。
move() 地圖檢視正在變更時,會引發此事件 (可能會重複發生)。
moveend() 變更地圖檢視端點時,會引發此事件。
zoomend(oldLevel:Number, newLevel:Number) 地圖到達新的縮放等級時,會引發此事件。事件處理常式會接收之前的和新的縮放等級為引數。
maptypechanged() 選取其他地圖類型時,會引發此事件。
infowindowopen() 開啟資訊視窗時,會引發此事件。
infowindowbeforeclose() 關閉資訊視窗之前,會引發此事件。

(從 2.83 開始)

infowindowclose() 資訊視窗關閉時,會引發此事件。在此事件之前,會引發 infowindowbeforeclose 事件。如果使用另一個 openInfoWindow*() 呼叫,在不同點再次開啟目前已開啟的資訊視窗,則會依順序引發事件 infowindowbeforecloseinfowindowclose 以及 infowindowopen
addoverlay(overlay:GOverlay) 單一疊加層以方法 addOverlay() 新增至地圖時,會引發此事件。新疊加層會以引數 overlay 傳送給事件處理常式。
removeoverlay(overlay:GOverlay) 單一疊加層以方法 removeOverlay() 移除時,會引發此事件。移除的疊加層會以引數 overlay 傳送給事件處理常式。
clearoverlays() 所有疊加層以方法 clearOverlays() 一次全部移除時,會引發此事件。
mouseover(latlng:GLatLng) 使用者從地圖外將滑鼠移至地圖上方時,會引發此事件。
mouseout(latlng:GLatLng) 使用者將滑鼠移離地圖時,會引發此事件。
mousemove(latlng:GLatLng) 使用者在地圖中移動滑鼠時,會引發此事件。
dragstart() 使用者開始拖曳地圖時,會引發此事件。
drag() 使用者拖曳地圖時,會重複引發此事件。
dragend() 使用者停止拖曳地圖時,會引發此事件。
load() 地圖設定完成時會引發此事件,而且 isLoaded() 會傳回 true。這表示位置、縮放以及地圖類型全都初始化了,不過地圖方塊圖片可能還在載入中。

(從 2.52 開始)

class GMapOptions

此類別代表 GMap2 建構函式的選用引數。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
size GSize 設定地圖的大小 (以像素為單位)。傳送給地圖建構函式的容器會縮放為指定大小。根據預設,地圖會假設其容器的大小。
mapTypes GMapType[] 此地圖使用的地圖類型陣列。根據預設會使用 G_DEFAULT_MAP_TYPES。您可以使用此選項來限制顯示在地圖上之預先定義的地圖類型集合,或將您自己的地圖類型傳送給地圖。另請參閱 GMap2.addMapType()
draggableCursor String 拖曳地圖時所顯示的游標。

(從 2.59 開始)

draggingCursor String 拖曳地圖時顯示游標。

(從 2.59 開始)

googleBarOptions GGoogleBarOptions 此 Property 指定用來設定 GGoogleBar 搜尋控制項的選項。建構地圖時,這些選項會傳送給 GMapOptions 物件實字,而且會在呼叫 GMap2.enableGoogleBar() 時,用來建構區域 GGoogleBar 控制項。

(從 2.95 開始)

backgroundColor String 此 Property 指定顯示在地圖方塊後方的色彩。此色彩可以是任何有效的 W3C 標準色彩值

(從 2.119 開始)

class GGoogleBarOptions

此類別代表在 googleBarOptions 參數中傳送給 GMapOptions 物件的選項。它沒有建構函式,但是具現化為物件實字。請注意,GGoogleBar 物件和 GInfoWindow 一樣不用建構,它會自動附加至地圖物件,並透過這裡描述的 Property 來啟用。

Property

Property 類型 說明
showOnLoad Boolean 設為 true 時,此 Property 會在 GoogleBar (假設已啟用控制項並載入地圖) 中顯示搜尋方塊。根據預設,控制項中的搜尋方塊會隱藏,只有按一下控制項中的放大鏡時才會擴充。

(從 2.95 開始)

linkTarget GGoogleBarLinkTarget 此 Property 讓您指定內嵌在 GoogleBar 中搜尋結果的目標連結。預設值 (G_GOOGLEBAR_LINK_TARGET_BLANK) 會在新視窗開啟連結。

(從 2.95 開始)

resultList GGoogleBarResultList or Element 此 Property 讓您指定 GoogleBar 搜尋結果清單的樣式,可能是下列其中一種:G_GOOGLEBAR_RESULT_LIST_INLINE (預設) 在搜尋方塊上方的表中列出結果清單;G_GOOGLEBAR_RESULT_LIST_SUPPRESS 以一組下一個/上一個按鈕取代清單,再傳送區塊等級的 DOM Element 在您選擇的容器 (通常是 <div> 元素) 中放置清單。

(從 2.95 開始)

suppressInitialResultSelection Boolean 此 Property 會在 GoogleBar 的搜尋完成時,抑制預設行為,避免在資訊視窗中顯示第一個結果。

(從 2.95 開始)

suppressZoomToBounds Boolean 此 Property 會在 GoogleBar 的搜尋完成時,抑制自動移動和縮放至結果集。(此 Property 會抑制預設行為。)

(從 2.95 開始)

onIdleCallback Function 此 Property 指定 GoogleBar 完成搜尋以及搜尋結果解除時要叫用的回呼函式。

(從 2.95 開始)

onSearchCompleteCallback Function 此 Property 指定 GoogleBar 完成搜尋以及搜尋完成時要叫用的回呼函式。它會傳送與搜尋控制項相互關聯的 GlocalSearch 物件。結果放置到地圖上或放入結果清單之前,會呼叫此回呼函式。

(從 2.95 開始)

onGenerateMarkerHtmlCallback Function 此 Property 讓您指定開啟搜尋結果標記的資訊視窗時要叫用的回呼函式。此函式會接收 GMarker、產生 HTML 字串以及 GlocalSearchResult (以此順序),而且必須傳回修改的 HTML 字串以顯示於資訊視窗。

(從 2.95 開始)

onMarkersSetCallback Function 此 Property 讓您指定 GGoogleBar 完成其標記的建立並將它們放在地圖上時要叫用的回呼函式。必須將格式為 {result: GlocalSearch, marker: GMarker} 的物件陣列傳送給此函式。

(從 2.95 開始)

enum GGoogleBarListingTypes

這些常數限制以 GGoogleBar 進行區域搜尋所傳回的結果類型。此搜尋行為會設定在 GGoogleBarOptions.listingTypes Property。

常數

常數 說明
G_GOOGLEBAR_TYPE_BLENDED_RESULTS 此常數指出地圖的 GGoogleBar 的搜尋應傳回所有類型的結果 (KML、商業、地理編碼等等)。

(從 2.113 開始)

G_GOOGLEBAR_TYPE_KMLONLY_RESULTS 此常數指出地圖的 GGoogleBar 的搜尋應只傳回已索引之 KML/KMZ/GeoRSS 檔案的結果。

(從 2.113 開始)

G_GOOGLEBAR_TYPE_LOCALONLY_RESULTS 此常數指出地圖的 GGoogleBar 的搜尋應只傳回商業和地理編碼結果。

(從 2.113 開始)

enum GGoogleBarLinkTarget

這些常數會在 GGoogleBarOptions.linkTarget 中傳送,並定義在結果資訊視窗中預設的目標連結。

常數

常數 說明

enum GGoogleBarResultList

這些常數會在 GGoogleBarOptions.resultList 中傳送,並定義結果清單的顯示方式。

常數

常數 說明
G_GOOGLEBAR_RESULT_LIST_INLINE 符合預設樣式,其中的結果清單會在地圖上以表格方式顯示。
G_GOOGLEBAR_RESULT_LIST_SUPPRESS 符合預設樣式,其中的結果清單會隱藏,而以一組 [下一個]/[上一個] 按鈕取代。

enum GMapPane

這些常數定義地圖以及地圖上物件顯示的堆疊順序 (z-order)。每個窗格定義一組相似的顯示物件,以顯示在地圖上,而每個窗格會定義地圖上獨一無二的 z-order。具有較高 z-order 的窗格,會顯示在具有較低 z-order 的上方。(請注意,在指定窗格中的物件也可能會有自己的 z-order 設定;一些物件可能會顯示在該窗格中其他物件的上方。)

如果您從 GOverlay 分出子類別,就需要使用這些常數,讓您可以將自訂的疊加層放在其中一個窗格中。

下列常數列出的順序是從最低的 z-order (下方) 排到最高的 (上方)。

常數

常數 說明
G_MAP_MAP_PANE 此窗格是最低的窗格,就位於地圖方塊上方。
G_MAP_OVERLAY_LAYER_PANE 此窗格包含折線、多邊形、Ground 疊加層以及地圖方塊圖層疊加層。

(從 2.127 開始)

G_MAP_MARKER_SHADOW_PANE 此窗格包含標記陰影。
G_MAP_MARKER_PANE 此窗格包含標記前景圖片。
G_MAP_FLOAT_SHADOW_PANE 此窗格包含資訊視窗陰影。它位於 G_MAP_MARKER_PANE 之上,因此標記可以位於資訊視窗的陰影中。
G_MAP_MARKER_MOUSE_TARGET_PANE 此窗格包含透明的元素,為標記接收 DOM 滑鼠事件。它位於 G_MAP_FLOAT_SHADOW_PANE 之上,因此位於資訊視窗陰影中的標記可以按一下。
G_MAP_FLOAT_PANE 此窗格包含資訊視窗。它位於所有地圖疊加層之上。

class GKeyboardHandler

具現化此類別可將按鍵繫結加入地圖。按鍵繫結的功能與地圖應用程式中的功能相同。

按鍵 Action
向上鍵、向下鍵、向左鍵、向右鍵 按下按鍵時地圖會連續移動。同時按下兩個鍵可以往對角方向移動。
page down、page up、home、end 以動畫方式往對應的方向移動地圖大小 3/4 的距離。這與 GLargeMapControl 和 GSmallMapControl 中的方向鍵相同。
+、- 分別為放大或縮小一個等級。這與GLargeMapControl 和 GSmallMapControl 中的 + 和 - 相同。

建構函式

建構函式 說明
GKeyboardHandler(map:GMap2) 安裝地圖的鍵盤事件處理常式,以引數方式傳送。

interface GOverlay

此介面是由地圖 API 程式庫中的 GMarkerGPolylineGTileLayerOverlay 以及 GInfoWindow 類別所實作。如果您要在地圖上顯示自訂類型的疊加層物件,就可以實作它。GOverlay 的實例可以使用方法 GMap2.addOverlay() 放到地圖上。然後,地圖會呼叫疊加層實例上的方法 GOverlay.initialize(),在地圖上初始化顯示本身。地圖顯示變更時,地圖會呼叫 GOverlay.redraw(),讓疊加層視需要重新放置本身的位置。疊加層實例可以使用方法 GMap2.getPane(),抓住一或多個 DOM 容器元素,將自己附加上去。

建構函式

建構函式 說明
GOverlay() 此建構函式為方法建立假的實作。不過,繼承此類別時,您衍生的類別建構函式應呼叫此建構函式才算完成。

靜態方法

方法 傳回值 說明
GOverlay.getZIndex(latitude:Number) Number 傳回指定緯度的 CSS z-index 值。它會計算 z 索引,讓偏南的疊加層位於偏北疊加層的上方,這樣可以建立標記疊加層的 3D 外觀。

抽象方法

方法 傳回值 說明
initialize(map:GMap2) None 使用 GMap2.addOverlay() 將疊加層加入地圖後,由地圖進行呼叫。疊加層物件可以將自已繪製到地圖的不同窗格,可使用 GMap2.getPane() 取得。
remove() None 使用 GMap2.removeOverlay()GMap2.clearOverlays() 從地圖移除疊加層後,由地圖進行呼叫。疊加層必須從地圖窗格這裡將自己移除。
copy() GOverlay 傳回未初始化的圖層物件複本,這類複本可以加入地圖。
redraw(force:Boolean) None 地圖顯示變更時,由地圖進行呼叫。如果地圖檢視的縮放等級或像素位移有所變更,引數 force 會是 true,因此需要重新計算像素座標。

class GInfoWindow

GInfoWindow 沒有建構函式。它是由地圖所建立,並由地圖的方法 GMap2.getInfoWindow() 存取。

方法

方法 傳回值 說明
selectTab(index:Number) None 選取指定索引的標籤。這樣跟按一下相關標籤有相同效果。
hide() None 讓資訊視窗看不見。注意:這並沒有關閉資訊視窗。您可以使用 show() 讓它再次可見。
show() None 如果資訊視窗目前看不見,則讓它可見。
isHidden() Boolean 傳回 true(在隱藏資訊視窗的情形下)。這包括它關閉的狀態。
reset(latlng:GLatLng, tabs:GInfoWindowTab[], size:GSize, offset?:GSize, selectedTab?:Number) None 重設資訊視窗的狀態。每個引數可能都是 null,則會保留目前的值,而不會變更。
getPoint() GLatLng 傳回錨定資訊視窗的地理點。視窗的尖端指向地圖上的這個點,以像素位移做為模數。
getPixelOffset() GSize 傳回地圖上資訊視窗尖端從該點的位移 (以像素為單位),也就是資訊視窗錨定地理座標的地圖。
getSelectedTab() Number 傳回目前選取標籤的索引 (從 0 開始)。
getTabs() GInfoWindowTabs[] 傳回此資訊視窗中標籤的陣列。

(從 2.59 開始)

getContentContainers() Node[] 傳回容納此資訊視窗之標籤內容的 DOM 節點陣列。

(從 2.59 開始)

enableMaximize() None 啟用資訊視窗的最大化。展開可最大化的資訊視窗,透過 GInfoWindowOptionsmaxContentmaxTitle Property 指定的內容會填充大部分的地圖。資訊視窗必須以 maxContentmaxTitle 選項開啟,enableMaximize()disableMaximize 才能生效。以 maxContentmaxTitle 開啟的資訊視窗預設會啟用最大化。

(從 2.93 開始)

disableMaximize() None 停用資訊視窗的最大化。infowindow 必須以 maxContentmaxTitle 選項開啟。請注意,如果目前已開啟資訊視窗,此函式會移除最大化按鈕,但是不會將該視窗還原回其縮小的狀態。

(從 2.93 開始)

maximize() None 將 infowindow 最大化。infowindow 必須以 maxContentmaxTitle 選項開啟,而且它不能以 disableMaximize 將其最大化功能停用。

(從 2.93 開始)

restore() None 將資訊視窗還原為其預設 (非最大化的) 狀態。infowindow 必須以 maxContentmaxTitle 選項開啟。

(從 2.93 開始)

事件

Event 說明
closeclick() 按下資訊視窗關閉按鈕時,會引發此事件。
maximizeclick() 資訊視窗即將要最大化的訊號。

(從 2.93 開始)

maximizeend() 資訊視窗已經完成最大化的訊號。

(從 2.93 開始)

restoreclick() 資訊視窗即將要還原為非最大化狀態的訊號。

(從 2.93 開始)

restoreend() 資訊視窗已經完成還原為非最大化狀態操作的訊號。

(從 2.93 開始)

class GInfoWindowTab

此類別實例的陣列可以做為 tabs 引數傳送給 GMap2.openInfoWindowTabs()GMap2.openInfoWindowTabsHtml()GMarker.openInfoWindowTabs()GMarker.openInfoWindowTabsHtml() 以及 GMarker.bindInfoWindow*() 各種方法。如果陣列包含一個以上的元素,則資訊視窗會顯示標籤。每個 InfoWindowTab 物件包含兩個項目:content 定義標籤選取時資訊視窗的顯示內容,以及 label 定義標籤 (tab) 的標籤 (label)。Property 會以引數傳送給建構函式。針對 openInfoWindowTabs() 方法,content 是 DOM 節點。針對方法 openInfoWindowTabsHtml()content 是包含 HTML 文字的字串。

建構函式

建構函式 說明
GInfoWindowTab(label:String, content:Node or String) 建立資訊視窗標籤資料結構,此結構可做為 tabs 引數傳送給 openInfoWindowTabs*() 方法。

class GInfoWindowOptions

此類別的實例會用在類別 GMap2GMarker 之方法 openInfoWindow()openInfoWindowHtml()openInfoWindowTabs()openInfoWindowTabsHtml()bindInfoWindow*() 以及 showMapBlowup()opts? 引數。此類別沒有建構函式。此類別會具現化為 javascript 物件實字。

Property

正如此類別的名稱所指出,所有 Property 皆為選用的

Property 類型 說明
selectedTab Number 選取指定索引 (從 0 開始) 的標籤,而不是第一個標籤 (索引為 0)。
maxWidth Number 資訊視窗內容的最大寬度 (以像素為單位)。
noCloseOnClick Boolean 指出在地圖上不是標記的位置按一下時,是否要關閉資訊視窗。如果設為 true,則資訊視窗不會在地圖按一下時關閉。預設值為 false

(從 2.83 開始)

onOpenFn Function 資訊視窗開啟並顯示內容後,會呼叫此函式。
onCloseFn Function 資訊視窗關閉後,會呼叫此函式。
zoomLevel Number 只適用於 showMapBlowup() 在資訊視窗中跳出視窗的縮放等級。
mapType GMapType 只適用於 showMapBlowup()在資訊視窗中跳出地圖的地圖類型。
maxContent String 指定 infowindow 最大化時要顯示的內容。內容可以是 HTML 字串或 HTML DOM 元素。

(從 2.93 開始)

maxTitle String 指定 infowindow 最大化時要顯示的標題。內容可以是 HTML 字串或 HTML DOM 元素。

(從 2.93 開始)

pixelOffset GSize 指定要從 GLatLng 將 infowindow 向上 (x) 和向右 (y) 移動的像素值。

(從 2.98 開始)

class GMarker

GMarker 標示地圖上的位置。它實作 GOverlay 介面,因此會使用 GMap2.addOverlay() 方法新增至地圖。

標記物件具有 latlng (標記錨定在地圖上的地理位置) 以及 icon。若未在建構函式中設定 icon,則會使用預設圖示 G_DEFAULT_ICON

新增至地圖後,地圖的資訊視窗可以透過該標記開啟。標記物件會引發滑鼠事件和 infowindow 事件。

建構函式

建構函式 說明
GMarker(latlng:GLatLng, icon?:GIcon, inert?:Boolean) iconG_DEFAULT_ICON 傳送的 latlng (GPointGLatLng) 建立標記。如果 inert 旗標為 true,則標記不能按,且無法引發任何事件。

(從 2.50 開始被取代)

GMarker(latlng:GLatLng, opts?:GMarkerOptions) GMarkerOptions 指定的選項,在 latlng 建立標記。根據預設,標記不僅可按,而且具有預設圖示 G_DEFAULT_ICON

(從 2.50 開始)

方法

在叫用這些方法之前,必須將標記新增至地圖。

方法 傳回值 說明
openInfoWindow(content:Node, opts?:GInfoWindowOptions) None 在標記圖示的上方開啟地圖資訊視窗。資訊視窗的內容指定為 DOM 節點。只能使用 GInfoWindowOptions.maxWidth 選項。
openInfoWindowHtml(content:String, opts?:GInfoWindowOptions) None 在標記圖示的上方開啟地圖資訊視窗。資訊視窗的內容指定為包含 HTML 文字的字串。只能使用 GInfoWindowOptions.maxWidth 選項。
openInfoWindowTabs(tabs:GInfoWindowTab[], opts?:GInfoWindowOptions) None 在標記圖示的上方開啟標籤式地圖資訊視窗。資訊視窗的內容,會以包含標籤內容的標籤陣列指定為 DOM 節點。只適用於 GInfoWindowOptions.maxWidthInfoWindowOptions.selectedTab 選項。
openInfoWindowTabsHtml(tabs:GInfoWindowTab[], opts?:GInfoWindowOptions) None 在標記圖示的上方開啟標籤式地圖資訊視窗。資訊視窗的內容,會以包含標籤內容的標籤陣列指定包含 HTML 文字的字串。只適用於 InfoWindowOptions.maxWidthInfoWindowOptions.selectedTab 選項。
bindInfoWindow(content:Node, opts?:GInfoWindowOptions) None 將指定的 DOM 節點繫結至此標記。按一下標記時,此節點中的內容將會在資訊視窗中自動顯示。傳送 contentnull 以解除繫結。

(從 2.85 開始)

bindInfoWindowHtml(content:String, opts?:GInfoWindowOptions) None 將指定的 HTML 繫結至此標記。按一下標記時,HTML 內容將會在資訊視窗中自動顯示。傳送 contentnull 以解除繫結。

(從 2.85 開始)

bindInfoWindowTabs(tabs:GInfoWindowTab[], opts?:GInfoWindowOptions) None 將指定的 GInfoWindowTab (以 DOM 節點提供) 繫結至此標記。按一下標記時,這些標籤中的內容將會在資訊視窗中自動顯示。傳送 tabsnull 以解除繫結。

(從 2.85 開始)

bindInfoWindowTabsHtml(tabs:GInfoWindowTab[], opts?:GInfoWindowOptions) None 將指定的 GInfoWindowTab (以 HTML 的字串提供) 繫結至此標記。按一下標記時,這些標籤中的 HTML 內容將會在資訊視窗中自動顯示。傳送 tabsnull 以解除繫結。

(從 2.85 開始)

closeInfoWindow() None 當資訊視窗屬於此標記時,將它關閉。

(從 2.85 開始)

showMapBlowup(opts?:GInfoWindowOptions) None 在標記圖示的上方開啟地圖資訊視窗。資訊視窗的內容是標記位置附近的放大地圖。只適用於 InfoWindowOptions.zoomLevelInfoWindowOptions.mapType 選項。
getIcon() GIcon 傳回此標記的 icon,如同建構函式所設定。
getTitle() String 傳回此標記的標題,如同建構函式透過 GMarkerOptions.title Property 所設定。傳回未定義的 (如果沒有傳入任何標題)。

(從 2.85 開始)

getPoint() GLatLng 傳回錨定標記位置的地理座標,如同建構函式或 setPoint() 所設定。

(從 2.88 開始被取代)

getLatLng() GLatLng 傳回錨定標記位置的地理座標,如同建構函式或 setLatLng() 所設定。

(從 2.88 開始)

setPoint(latlng:GLatLng) None 設定錨定此標記點的地理座標。

(從 2.88 開始被取代)

setLatLng(latlng:GLatLng) None 設定錨定此標記點的地理座標。

(從 2.88 開始)

enableDragging() None 啟用可以在地圖上拖放標記。要使用此功能,必須以 GMarkerOptions.draggable = true 初始化標記。
disableDragging() None 停用在地圖上拖放標記。
draggable() Boolean 傳回 true,如果建構函式使用 GMarkerOptions.draggable = true 將標記初始化。否則,就傳回 false
draggingEnabled() Boolean 傳回 true(如果目前啟用使用者可以在地圖上拖曳標記)。
setImage(url:String) None 要求將 url 指定的圖片設為此標記的背景圖片。請注意,這不會調整列印圖片或陰影圖片。因此,這個方法主要是用來實作反白或變暗的效果,而非明顯變更標記的外觀。

(從 2.75 開始)

hide() None 如果標記目前為可見模式,則將它隱藏。請注意,此函式會觸發事件 GMarker.visibilitychanged (以防止標記目前為可見模式)。

(從 2.77 開始)

show() None 如果標記目前為隱藏模式,則將它顯示。請注意,此函式會觸發事件 GMarker.visibilitychanged (以防止標記目前為隱藏模式)。

(從 2.77 開始)

isHidden() Boolean 如果標記目前為隱藏模式,則傳回 true。否則,就傳回 false

(從 2.77 開始)

事件

標記未啟用時,才會引發所有這些事件 (請參閱建構函式)。

Event 說明
click(latlng:GLatLng) 按一下標記圖示時,會引發此事件。標記會在其 latlng 引數中,傳入標記目前的座標。請注意,地圖上也會引發這事件,將標記作為第一個引數傳送給事件處理常式。
dblclick(latlng:GLatLng) 按兩下標記圖示時,會引發此事件。標記會在其 latlng 引數中,傳入標記目前的座標。請注意,地圖不會引發此事件,因為按兩下就將地圖置中為預設行為。
mousedown(latlng:GLatLng) 在標記圖示上引發 DOM mousedown 事件時,會引發此事件。標記會在其 latlng 引數中,傳入標記目前的座標。請注意,標記會停止 mousedown DOM 事件,因此不會讓地圖開始拖曳。
mouseup(latlng:GLatLng) 標記上的 DOM mouseup,會引發此事件。標記會在其 latlng 引數中,傳入標記目前的座標。請注意,標記不會停止 mousedown DOM 事件,因為它不會與地圖的拖曳處理常式混淆。
mouseover(latlng:GLatLng) 滑鼠進入標記圖示的區域時,會引發此事件。標記會在其 latlng 引數中,傳入標記目前的座標。
mouseout(latlng:GLatLng) 滑鼠離開標記圖示的區域時,會引發此事件。標記會在其 latlng 引數中,傳入標記目前的座標。
infowindowopen() 地圖的資訊視窗透過此標記開啟時,會引發此事件。
infowindowbeforeclose() 地圖的資訊視窗透過此標記關閉之前,會引發此事件。

(從 2.83 開始)

infowindowclose() 地圖的資訊視窗透過此標記關閉時,會引發此事件。資訊視窗關閉或在其他標記 (或地圖) 上開啟資訊視窗時,會發生此動作。在此事件之前,會引發 infowindowbeforeclose 事件。
remove() 使用 GMap2.removeOverlay()GMap2.clearOverlays() 從地圖移除標記時,會引發此事件。
dragstart(latlng:GLatLng) 如果標記已啟用拖曳功能,當開始拖曳標記時,會引發此事件。標記會在其 latlng 引數中,傳入標記目前的座標。
drag(latlng:GLatLng) 如果標記已啟用拖曳功能,當正在拖曳標記時,會引發此事件。標記會在其 latlng 引數中,傳入標記目前的座標。
dragend(latlng:GLatLng) 如果標記已啟用拖曳功能,當停止拖曳標記時,會引發此事件。標記會在其 latlng 引數中,傳入標記目前的座標。
visibilitychanged(isVisible:Boolean) 切換標記的可視性狀態時 (可見或隱藏),會引發此事件。isVisible 是指可視性變更已經發生之後標記的狀態。

(從 2.77 開始)

class GMarkerOptions

此類別的實例會用在類別 GMarker 之建構函式的 opts? 引數。此類別沒有建構函式。此類別會具現化為 javascript 物件實字。

Property

正如此類別的名稱所指出,所有 Property 皆為選用的

Property 類型 說明
icon GIcon 選擇此類別的 Icon。如果沒有指定,則會使用 G_DEFAULT_ICON

(從 2.50 開始)

dragCrossMove Boolean 正常拖曳標記時,標記會浮起來,並離開游標。將此值設定為 true,可以將標記保持在游標之下,並改為向下移動。此選項的預設值為 false

(從 2.63 開始)

title String 此字串將會顯示為標記上的工具提示,也就是如同 HTML 元素的 title 屬性一般的運作。

(從 2.50 開始)

clickable Boolean 將標記切換為是否可以按一下。無法按一下或拖曳的標記是沒有作用的,使用的資源較少,但無法回應任何事件。此選項的預設值為 true,也就是說,如果沒有指定選項,則標記可按

(從 2.50 開始)

draggable Boolean 將標記切換為使用者是否可以拖曳。將標記設定為可拖曳的資源需求,比設定為可按一下的資源需要更多。依照預設,可拖曳的標記也都可按、可彈回,也會啟用自動平移。此選項的預設值為 false

(從 2.61 開始)

bouncy Boolean 切換標記在完成拖曳時,是否要上下彈動。此選項的預設值為 false

(從 2.61 開始)

bounceGravity Number 完成拖曳時,此數字會用來定義標記在向下彈動時的加速比率。此選項的預設值為 1

(從 2.61 開始)

autoPan Boolean 當您拖曳標記靠近邊緣時,自動平移地圖。如果標記為可拖曳,則此選項的預設值為 true

(從 2.87 開始)

zIndexProcess Function 標記疊放至地圖上時,此函式可用來變更標記的 z-Index 順序,而且當標記的 infowindow 開啟時,也會呼叫此函式。預設的順序為:偏南的標記比偏北的標記具有較高的 z-Index。此函式會傳入 GMarker 物件,並傳回指出新 z-index 的數字。

(從 2.98 開始)

hide Boolean 如果是 true,表示地圖初始化時不會顯示 GMarker。要開啟疊加層,請呼叫 GMarker.show()。此值會預設為 false。

(從 2.139 開始)

class GPolyline

這是在地圖上繪製折線的地圖疊加層,使用瀏覽器的向量繪圖工具 (如果可以使用),或從 Google 伺服器取得圖片疊加層。

建構函式

建構函式 說明
GPolyline(latlngs:GLatLng[], color?:String, weight?:Number, opacity?:Number, opts?:GPolylineOptions) 以端點的陣列建立折線。color 是以字串指定,該字串包含以十六進位數值 HTML 樣式的色彩,即 #RRGGBB。weight 是線條的寬度 (以像素為單位)。opacity 是指定的數字,介於 0 和 1 之間。線條會消除鋸齒並為半透明。

工廠方法

方法 傳回值 說明
GPolyline.fromEncoded(color?:String, weight?:Number, opacity?:Number, latlngs:String, zoomFactor:Number, levels:String, numLevels:Number) GPolyline 從包含座標和縮放等級的編碼字串中建立折線。color 是包含以十六進位數值 HTML 樣式的字串,即 #RRGGBB。weight 是線條的寬度 (以像素為單位)。opacity 是介於 0 和 1 之間的數字。latlngs 是包含已編碼緯度和經度座標的字串。levels 是包含地理編碼折線縮放等級群組的字串。numLevels 是包含在已編碼 levels 字串中的縮放等級數字。zoomFactor 在已編碼等級 levels 字串中,在相鄰縮放等級組之間的放大倍率。綜合起來,這兩個值可以決定地理編碼折線中 levels 的精準度。線條會消除鋸齒並為半透明。

(從 2.63 開始)

方法

方法 傳回值 說明
deleteVertex(index:Number) None 移除折線中指定索引的端點,並據此更新折線的圖形。GPolyline 必須已透過 GMap2.addOverlay() 加入地圖。

(從 2.111 開始)

disableEditing() None 翻轉 enableEditing 的效果,移除線條的所有控制點,並讓使用者無法編輯。

(從 2.111 開始)

enableDrawing(opts?:GPolyEditingOptions) None 允許使用者在地圖上按一下其他點來建構 (或修改) GPolyline 物件。GPolyline 必須已透過 GMap2.addOverlay() 加入地圖,即使折線一開始未填入而且沒有任何端點。每按一下,就會在折線鏈加入一個「端點」,而且按兩下或在最後加入的那一點再按一下,會終止繪製過程。如果折線順利完成,則在該點會觸發「endline」事件;否則會觸發「cancelline」事件,但折線不會因此而從地圖移除。如果修改現有 GPolyline,端點會從現有折線的起點或終點連接 (此折線是以選用的 GPolyEditingOptions.fromStart 參數指定)。

(從 2.111 開始)

enableEditing(opts?:GPolyEditingOptions) None 允許修改點的現有 GPolyline 鏈。啟用時,使用者可以選取並拖曳現有端點。除非現在的端點數量已經超過 maxVerticesGPolyEditingOptions 中指定的端點上限,否則折線段落的中點會加入「偽」點,使用者可以按一下並拖曳這些額外的端點來插入新的端點。新增或移動端點時,都會觸發「lineupdated」事件。

(從 2.111 開始)

getVertexCount() Number 傳回折線中端點的數字。

(從 2.46 開始)

getVertex(index:Number) GLatLng 以折線中指定的索引傳回端點。

(從 2.46 開始)

getLength() Number 傳回折線沿著圓形地球表面的長度 (以公尺為單位)。

(從 2.85 開始)

getBounds() GLatLngBounds 傳回折線的邊界。

(從 2.85 開始)

hide() None 如果折線目前為可見模式,且 GPolyline.supportsHide() 傳回 true,則會隱藏折線。請注意,此函式會觸發事件 GPolyline.visibilitychanged (以防止折線目前為可見模式)。

(從 2.87 開始)

insertVertex(index:Number, latlng:GLatLng) None 在折線中的指定索引插入新的點,並更新其形狀。GPolyline 必須已透過 GMap2.addOverlay() 加入地圖。

(從 2.111 開始)

isHidden() Boolean 如果折線目前為隱藏模式,則傳回 true。否則,就傳回 false

(從 2.87 開始)

show() None 如果折線目前為隱藏模式,則將它顯示。請注意,此函式會觸發事件 GPolyline.visibilitychanged (以防止折線目前為隱藏模式)。

(從 2.87 開始)

supportsHide() Boolean 如果目前環境的 GPolyline 物件支援 GPolyline.hide(),則傳回 true。否則,就傳回 false

(從 2.87 開始)

setStrokeStyle(style:GPolyStyleOptions) None 變更折線的樣式。GPolyline 必須已透過 GMap2.addOverlay() 加入地圖。

(從 2.111 開始)

事件

Event 說明
remove() 使用 GMap2.removeOverlay()GMap2.clearOverlays() 從地圖移除折線時會引發此事件。
visibilitychanged(isVisible:Boolean) 切換折線的可視性狀態時 (可見或隱藏),會引發此事件。這個可視性狀態完成後,isVisible 引數會反應折線的狀態。

(從 2.87 開始)

click(latlng:GLatLng) 按一下折線時,會引發此事件。折線會在其 latlng 引數中,傳入折線目前的座標。請注意,此事件也會在後續觸發地圖上的「click」事件,折線在該事件中會以 overlay 引數傳送。

(從 2.88 開始)

mouseover() 滑鼠移至折線上時,會引發此事件。

(從 2.111 開始)

mouseout() 滑鼠從折線上移開時,會引發此事件。

(從 2.111 開始)

lineupdated() 更新折線的樣式或形狀時,會引發此事件。

(從 2.111 開始)

endline() 使用者完成線條的繪製 (以呼叫 GPolyline.enableDrawing 開始) 時,會引發此事件。

(從 2.111 開始)

cancelline() 使用者中止線條的繪製 (以呼叫 GPolyline.enableDrawing 開始) 時,會引發此事件。

(從 2.111 開始)

class GPolylineOptions

此類別的實例會用在 GPolyline 的建構函式中。此類別沒有建構函式。此類別會具現化為 javascript 物件實字。

Property

正如此類別的名稱所指出,所有 Property 皆為選用的

Property 類型 說明
clickable Boolean 切換折線是否可按。此選項的預設值為 true,也就是說,如果沒有指定選項,則折線為可以按的。

(從 2.91 開始)

geodesic Boolean 以測地線 (「大圓」的片段) 呈現折線的每一邊。測地線是兩點之間沿著地表的最短路徑。

(從 2.84 開始)

class GPolyEditingOptions

此類別的實例會用在 GPolylineGPolygonenableEditing 方法。此類別沒有建構函式。此類別會具現化為 javascript 物件實字。

Property

正如此類別的名稱所指出,所有 Property 皆為選用的

Property 類型 說明
maxVertices Number 此 Property 指出折線允許端點的最大數量。達到此數量時,便無法再加入任何端點。

(從 2.111 開始)

fromStart Boolean 此 Property 指出 enableDrawing 是否應從起點加入點,而不是從終點加入,後者為預設值。

(從 2.111 開始)

class GPolyStyleOptions

此類別的實例會用在 GPolylineGPolygonsetStrokeStyle 方法以及 GPolygonsetFillStyle 方法。此類別沒有建構函式。此類別會具現化為 javascript 物件實字。

Property

正如此類別的名稱所指出,所有 Property 皆為選用的

Property 類型 說明
color String 此 Property 指出包含十六進位數值 HTML 樣式的字串,即 #RRGGBB。

(從 2.111 開始)

weight Number 此 Property 指出線條的寬度 (以像素為單位)。

(從 2.111 開始)

opacity Number 此 Property 指出折線的透明度,為 0 (透明) 和 1 (不透明) 之間的分數值。

(從 2.111 開始)

class GPolygon

這與 GPolyline 非常相似,但是不能另外指定填充色彩和透明度。

建構函式

建構函式 說明
GPolygon(latlngs:GLatLng[], strokeColor?:String, strokeWeight?:Number, strokeOpacity?:Number, fillColor?:Number, fillOpacity?:Number, opts?:GPolygonOptions) 以端點的陣列建立多邊形。colors 是以字串指定,該字串包含以十六進位數值 HTML 樣式的色彩,即 #RRGGBB。weight 是線條的寬度 (以像素為單位)。opacities 是指定的數字,介於 0 和 1 之間。線條會消除鋸齒並為半透明。

(從 2.69 開始)

工廠方法

方法 傳回值 說明
GPolygon.fromEncoded(polylines:encoded polylines[], fill?:Boolean, color?:String, opacity?:Number, outline?:Boolean) GPolygon 從包含座標和縮放等級的編碼字串中建立多邊形 (由一些折線所組成)。polylines 包含組成折線的關聯陣列,會以 GPolyline.fromEncoded 使用說明所描述的方式編碼為相同格式。fill 指出是否以特定 color 填充多邊形。opacityoutline 指出是否以折線的色彩、粗細以及透明度來繪製多邊形。如果在折線中指定了多個值,則會採用折線的第一個值。

(從 2.78 開始)

方法

方法 傳回值 說明
deleteVertex(index:Number) None 依照多邊形中指定的索引加以移除,並據此更新多邊形的形狀。GPolygon 必須已透過 GMap2.addOverlay() 加入地圖。

(從 2.111 開始)

disableEditing() None 翻轉 enableEditing 的效果,移除線條的所有控制點,並讓使用者無法編輯。

(從 2.111 開始)

enableDrawing(opts?:GPolyEditingOptions) None 允許使用者在地圖上按一下其他點來建構 GPolygon 物件。即使折線一開始未填入而且沒有任何端點,GPolyline 也必須透過 GMap2.addOverlay() 加入地圖。每按一下,就會在多邊形界限加入一個「端點」,而且按兩下或在第一個點按一下,會終止繪製過程。如果多邊形順利完成,則在該點會觸發「endline」事件;否則會觸發「cancelline」事件,但折線不會因此而從地圖移除。

(從 2.111 開始)

enableEditing(opts?:GPolyEditingOptions) None 允許修改點的現有 GPolygon 界限。啟用時,使用者可以選取並拖曳現有端點。除非現在的端點數量已經超過 maxVerticesGPolyEditingOptions 中指定的端點上限,否則多邊形段落的中點會加入「偽」點,使用者可以按一下並拖曳這些額外的端點來插入新的端點。新增或移動端點時,都會觸發「lineupdated」事件。

(從 2.111 開始)

getVertexCount() Number 傳回多邊形端點的數量。

(從 2.69 開始)

getVertex(index:Number) GLatLng 以多邊形中指定的索引傳回端點。

(從 2.69 開始)

getArea() Number 傳回多邊形的區域 (以平方公尺為單位),假設圓形地表。

(從 2.85 開始)

getBounds() GLatLngBounds 傳回多邊形的邊界。

(從 2.85 開始)

hide() None 如果多邊形目前為可見模式,且 GPolygon.supportsHide 傳回 true,則會隱藏多邊形。請注意,此函式會觸發事件 GPolygon.visibilitychanged (以防止多邊形目前為可見模式)。

(從 2.87 開始)

insertVertex(index:Number, latlng:GLatLng) None 在多邊形中的指定索引插入新的點。GPolygon 必須已透過 GMap2.addOverlay() 加入地圖。

(從 2.111 開始)

isHidden() Boolean 如果多邊形目前為隱藏模式,則傳回 true。否則,就傳回 false

(從 2.87 開始)

show() None 如果多邊形目前為隱藏模式,則將它顯示。請注意,此函式會觸發事件 GPolygon.visibilitychanged (以防止多邊形目前為隱藏模式)。

(從 2.87 開始)

supportsHide() Boolean 如果目前環境的 GPolygon 物件支援 GPolygon.hide(),則傳回 true。否則,就傳回 false

(從 2.87 開始)

setFillStyle(style:GPolyStyleOptions) None 變更多邊形的填充樣式。GPolygon 必須已透過 GMap2.addOverlay() 加入地圖。

(從 2.111 開始)

setStrokeStyle(style:GPolyStyleOptions) None 變更多邊形的線條樣式。GPolygon 必須已透過 GMap2.addOverlay() 加入地圖。

(從 2.111 開始)

事件

Event 說明
remove() 使用 GMap2.removeOverlay()GMap2.clearOverlays() 從地圖移除多邊形時會引發此事件。
visibilitychanged(isVisible:Boolean) 切換多邊形的可視性狀態時 (可見或隱藏),會引發此事件。這個可視性狀態完成後,isVisible 引數會反應多邊形的狀態。

(從 2.87 開始)

click(latlng:GLatLng) 按一下多邊形時,會引發此事件。多邊形會在其 latlng 引數中,傳入多邊形目前的座標。請注意,此事件也會在後續觸發地圖上的「click」事件,多邊形在該事件中會以 overlay 引數傳送。

(從 2.88 開始>)

mouseover() 滑鼠移入多邊形的區域時,會引發此事件。

(從 2.111 開始)

mouseout() 滑鼠移出多邊形的區域時,會引發此事件。

(從 2.111 開始)

lineupdated() 更新多邊形的樣式或形狀時,會引發此事件。

(從 2.111 開始)

endline() 使用者完成多邊形的繪製 (以呼叫 GPolyline.enableDrawing 開始) 時,會引發此事件。

(從 2.111 開始)

cancelline() 使用者中止多邊形的繪製 (以呼叫 GPolyline.enableDrawing 開始) 時,會引發此事件。

(從 2.111 開始)

class GPolygonOptions

此類別的實例會用在 GPolygon 的建構函式中。此類別沒有建構函式。此類別會具現化為 javascript 物件實字。

Property

正如此類別的名稱所指出,所有 Property 皆為選用的

Property 類型 說明
clickable Boolean 將多邊形切換為是否可以按一下。此選項的預設值為 true,也就是說,如果沒有指定選項,則多邊形為可以按的。

(從 2.91 開始)

class GScreenOverlay

此物件會在地圖上顯示矩形圖片疊加層,檢視區變更時,其邊界的位置仍然不變。ScreenOverlays 的使用包括指南針、標誌以及抬頭顯示器等等。

建構函式

建構函式 說明
GScreenOverlay(imageUrl:String, screenXY:GScreenPoint, overlayXY:GScreenPoint, size:GScreenSize) 從圖片網址建立螢幕疊加層,並將它顯示在 screenXYoverlayXY 以及 size 參數指定的螢幕。overlayXY 參數決定疊加層圖片上 (或圖片外) 的點,該疊加層圖片會對應至 screenXY 座標。這可以用來有效地「裁剪」圖片。screenXY 參數決定相對於螢幕原點 (左下角) 的點,疊加層圖片會對應至該原點。

(從 2.92 開始)

方法

方法 傳回值 說明
hide() None 如果螢幕疊加層目前為可見模式,則將它隱藏。請注意,此函式會觸發事件 GScreenOverlay.visibilitychanged (以防止螢幕疊加層目前為可見模式)。

(從 2.92 開始)

isHidden() Boolean 如果螢幕疊加層目前為隱藏模式,則傳回 true。否則,就傳回 false

(從 2.92 開始)

show() None 如果螢幕疊加層目前為隱藏模式,則將它顯示。請注意,此函式會觸發事件 GScreenOverlay.visibilitychanged (以防止螢幕疊加層目前為隱藏模式)。

(從 2.92 開始)

supportsHide() Boolean 永遠傳回 true

(從 2.92 開始)

事件

Event 說明
visibilitychanged(isVisible:Boolean) 切換螢幕疊加層的可視性狀態時 (可見或隱藏),會引發此事件。這個可視性狀態完成後,isVisible 引數會反應螢幕疊加層的狀態。

(從 2.92 開始)

class GScreenPoint

GScreenPoint 會以 X 和 Y 座標識別地圖檢視區上的點,每個 GScreenPoint 可以代表相對或絕對的位置,取決於選用的建構函式參數值。

建構函式

建構函式 說明
GScreenPoint(x:Number, y:Number, xunits?:String, yunits?:String) 建立 GScreenPoint 物件。xy 座標可以代表相對或絕對的位置,取決於是將「fraction」還是「pixels」傳入 xunitsyunits 參數。這些參數值會預設為「pixels」。

(從 2.92 開始)

Property

Property 類型 說明
x Number x 座標,向左增加。
y Number y 座標,向下增加。
xunits String 指定 x 座標使用的單位類型。將此項設定為「fraction」表示相對於地圖大小的相對位置,設定為「pixels」則表示絕對位置。預設為絕對位置。
yunits String 指定 y 座標使用的單位類型。將此項設定為「fraction」表示相對於地圖大小的相對位置,設定為「pixels」則表示絕對位置。預設為絕對位置。

class GScreenSize

GScreenSize 指出地圖的矩形區域的大小,由 widthheight 參數決定。每個這些參數都可以代表相對或像素大小,取決於選用的建構函式參數值。

建構函式

建構函式 說明
GScreenSize(width:Number, height:Number, xunits?:String, yunits?:String) 建立 GScreenSize 物件。widthheight 座標可以代表相對或絕對的位置,取決於是將「fraction」或是「pixels」傳入 xunitsyunits 參數。widthheight 引數的預設值為「pixels」。

(從 2.92 開始)

Property

Property 類型 說明
width Number 螢幕實際使用面積的寬度參數。請注意,依照 GScreen.yunits Property,此值可能是相對或絕對像素值。
height Number 螢幕實際使用面積的高度參數。請注意,依照 GScreen.yunits Property,此值可能是相對或絕對像素值。
xunits String 指定 GScreenSize.width Property 使用的單位類型。將此項設定為「fraction」表示相對於地圖大小的相對位置,設定為「pixels」則表示像素位置。預設為像素位置。
yunits String 指定 GScreenSize.height Property 使用的單位類型。將此項設定為「fraction」表示相對於地圖大小的相對位置,設定為「pixels」則表示像素位置。預設為像素位置。

class GGroundOverlay

此物件會在地圖上建立矩形圖片疊加層,其邊界會由 GLatLngBounds 所定義。

建構函式

建構函式 說明
GGroundOverlay(imageUrl:String, bounds:GLatLngBounds) 從圖片網址及其繫結建立 Ground 疊加層。

(從 2.79 開始)

方法

方法 傳回值 說明
hide() None 如果 Ground 疊加層目前為可見模式,則將它隱藏。請注意,此函式會觸發事件 GGroundOverlay.visibilitychanged (以防止 Ground 疊加層目前為可見模式)。

(從 2.87 開始)

isHidden() Boolean 如果 Ground 疊加層目前為隱藏模式,則傳回 true。否則,就傳回 false

(從 2.87 開始)

show() None 如果 Ground 疊加層目前為隱藏模式,則將它顯示。請注意,此函式會觸發事件 GGroundOverlay.visibilitychanged (以防止 Ground 疊加層目前為隱藏模式)。

(從 2.87 開始)

supportsHide() Boolean 永遠傳回 true

(從 2.87 開始)

事件

Event 說明
visibilitychanged(isVisible:Boolean) 切換 Ground 疊加層的可視性狀態時 (可見或隱藏),會引發此事件。這個可視性狀態完成後,isVisible 引數會反應 Ground 疊加層的狀態。

(從 2.77 開始)

class GIcon

指定在地圖上用來顯示 GMarker 圖片的圖示。因為瀏覽相容性的原因,指定圖示實際上相當複雜。請注意,如果不要指定自己的圖示,則可以使用預設地圖圖示 G_DEFAULT_ICON

建構函式

建構函式 說明
GIcon(copy?:GIcon, image?:String) 建立新圖示物件。如果另一個圖示以選用的 copy 引數指定,則會複製其 Property,否則就會留空。選用的引數 image 會設定 image Property 的值。

常數

常數 說明
G_DEFAULT_ICON 標記使用的預設圖示。

Property

Property 類型 說明
image String 圖示的前景圖片網址。
shadow String 圖示的陰影圖片網址。
iconSize GSize 圖示的前景圖片大小 (以像素為單位)。
shadowSize GSize 陰影圖片大小 (以像素為單位)。
iconAnchor GPoint 相對於圖示圖片左上角的像素座標,即此圖示錨定至地圖的位置。
infoWindowAnchor GPoint 相對於圖示圖片左上角的像素座標,即資訊視窗錨定至此圖示的位置。
printImage String 用來列印地圖時的前景圖示圖片網址。它的大小必須與 image 指定的主要圖示圖片大小相同。
mozPrintImage String 在 Firefox/Mozilla 中,用來列印地圖時的前景圖示圖片網址。它的大小必須與 image 指定的主要圖示圖片大小相同。
printShadow String 用來列印地圖時的陰影圖片網址。此圖片應該是 GIF 圖片,因為大部分瀏覽器不能列印 PNG 圖片。
transparent String 幾乎透明版本之前景圖示圖片的網址,用來擷取 Internet Explorer 中的按一下事件。此圖片應該是 24 位元 PNG 版本的主要圖示圖片,並具有 1% 的透明度,但是必須與主要圖示的形狀和大小相同。
imageMap Number[] 代表圖片地圖之 x/y 座標的整數陣列,我們應該用它來指定 Internet Explorer 以外之瀏覽器中圖示圖片的可按下部分。
maxHeight Integer 以像素指定拖曳標記時,它視覺上會「上升」的距離。

(從 2.79 開始)

dragCrossImage String 指定拖曳圖示時的交錯圖片網址。

(從 2.79 開始)

dragCrossSize GSize 指定拖曳圖示時的交錯圖片的像素大小。

(從 2.79 開始)

dragCrossAnchor GPoint 指定拖曳圖示時,交錯圖片的像素座標位移 (相對於 iconAnchor)。

(從 2.79 開始)

class GPoint

GPoint 以點的像素座標來代表地圖上的點。請注意,在 v2 中,它不再以地理座標代表地表上的點。地理座標現在是以 GLatLng 呈現。

在「Google 地圖」座標系統中,x 座標會向右增加,而 y 座標會向下增加 (不過您可隨喜好使用 GPoint 座標)。

請注意,GPoint 的兩個參數可以做為 Property xy 來存取,最好不要修改,而是以不同的參數來建立新物件。

建構函式

建構函式 說明
GPoint(x:Number, y:Number) 建立 GPoint 物件。

Property

Property 類型 說明
x Number x 座標。(在「Google 地圖」座標系統中,此值會向右增加。)
y Number y 座標。(在「Google 地圖」座標系統中,此值會向下增加。)

方法

方法 傳回值 說明
equals(other:GPoint) Boolean 傳回 true(在其他點有相同座標的情形下)。
toString() String 以此順序傳回包含 x 和 y 座標的字串,並以逗號分隔。

class GSize

GSize 地圖的矩形區域的大小 (以像素為單位)。大小物件具有兩個參數,widthheight。Width 是在 x 座標中的點差異;height 是在 y 座標中的點差異。

請注意,GSize 的兩個參數可以做為 Property widthheight 來存取,最好不要修改,而是以不同的參數來建立新物件。

建構函式

建構函式 說明
GSize(width:Number, height:Number) 建立 GSize 物件。

Property

Property 類型 說明
width Number 寬度參數。
height Number 高度參數。

方法

方法 傳回值 說明
equals(other:GSize) Boolean 傳回 true(在其他大小有完全相同的元件的情形下)。
toString() String 以此順序傳回包含寬度和高度的字串,並以逗號分隔。

class GBounds

GBounds 是在像素座標中地圖的矩形區域。請注意,在地理座標中的矩形是由GLatLngBounds 物件來代表。

建構函式

建構函式 說明
GBounds(points:GPoint[]) 建構包含所有指定 points 的矩形。

Property

Property 類型 說明
minX Number 矩形左邊緣的 x 座標。
minY Number 矩形上邊緣的 y 座標。
maxX Number 矩形右邊緣的 x 座標。
maxY Number 矩形下邊緣的 y 座標。

方法

方法 傳回值 說明
toString() String 以此順序傳回包含方塊之左上角和右下角座標的字串,由逗號分隔,並以括弧圍住。
equals(other:GBounds) Boolean 傳回 true,如果在此矩形中的所有參數與其他的參數相同。

(從 2.98 開始)

mid() GPoint 傳回矩形區域中心的像素座標。

(從 2.88 開始)

min() GPoint 傳回矩形區域左上角的像素座標。
max() GPoint 傳回矩形區域右上角的像素座標。
containsBounds(other:GBounds) Boolean 傳回 true,如果傳送的矩形區域完全包含在此矩形區域中。
containsPoint(point:GPoint) Boolean 傳回 true,如果矩形區域 (含) 包含像素座標。

(從 2.88 開始)

extend(point:GPoint) None 拉大此方塊,讓該點也包含在此方塊中。

class GLatLng

GLatLng 是地理座標 (經度和緯度) 中的點。

請注意,雖然一般地圖投影與下列項目有關聯:地圖 x 座標的經度、地圖 y 座標的緯度。緯度座標要寫在前面,再寫經度,如同製圖中的慣例一般。

另請注意,您無法修改 GLatLng 的座標。如果要計算其他點,您必須建立新的 GLatLng。

建構函式

建構函式 說明
GLatLng(lat:Number,lng:Number,unbounded?:Boolean) 請注意緯度和經度的順序。如果 unbounded 旗標為 true,則數字會當成已經傳送,否則緯度會固定位於 -90 度和 +90 度之間,而經度會在 -180 度和 +180 度之間。

方法

方法 傳回值 說明
lat() Number 傳回緯度座標 (以度為單位),為 -90 和 +90 之間的數字。如果在建構函式中設定 unbounded 旗標,則此座標可以在此範圍之外。
lng() Number 傳回經度座標 (以度為單位),為 -180 和 +180 之間的數字。如果在建構函式中設定 unbounded 旗標,則此座標可以在此範圍之外。
latRadians() Number 傳回緯度座標 (以弧度為單位),為 -PI/2 和 +PI/2 之間的數字。如果 unbounded 旗標設在建構函式中,則此座標可以在此範圍之外。
lngRadians() Number 傳回經度座標 (以弧度為單位),為 -PI 和 +PI 之間的數字。如果 unbounded 旗標設在建構函式中,則此座標可以在此範圍之外。
equals(other:GLatLng) Boolean 傳回 true(在特定捨入範圍內其他大小有相同的元件的情形下)。
distanceFrom(other:GLatLng) Number 傳回這個點到指定點的距離 (以公尺為單位)。地表幾乎是圓形,因此距離誤差不會超過 0.3%。請參閱以下資訊。

(從 2.89 開始被取代)

distanceFrom(other:GLatLng, radius?:Number) Number 傳回這個點到指定點的距離 (以公尺為單位)。根據預設,此距離是假設預設的赤道地球半徑為 6378137 公尺來計算。地表幾乎是圓形,因此距離誤差不會超過 0.3%,尤其是兩極區域。您也可以傳送選用的 radius 引數,以計算地球以外不同半徑之球形物 GLatLng 座標之間的距離。

(從 2.89 開始)

toUrlValue() String 這個版本的方法已經由修訂後的版本 (顯示如下) 取代,新版本會傳送選用的 precision 參數。

(從 2.78 開始被取代)

toUrlValue(precision?:Number) String 以適合做為網址參數值的格式,傳回代表這個點的字串,由逗號分隔,中間不需要空格。按照預設,精準度會傳回 6 位數,對應之解析度為 4 吋 / 11 公分。也可加入選用的 precision 參數,指定較低精準度,以減少伺服器負載。注意:在 2.78 之前,無法使用此 precision 參數。

(從 2.78 開始)

Property

這些 Property 只是要提供與 v1 事件處理常式的向下相容,建議不要使用。

這些 Property 反映傳回的 lng()lat() 存取子方法值,而且允許 GLatLng 出現在 v1 用戶端預期的 GPoint 位置。如果 GLatLng 出現在事件詳細資料 (即事件處理常式函式的引數) 中,就需要這些 Property。與方法包裝函式不同,在目前基礎架構中不可能建立事件包裝函式。

Property 類型 說明
x Number 已被取代。
y Number 已被取代。

class GLatLngBounds

GLatLngBounds 實例代表地理座標中的矩形,包括跨越 180 度子午線的矩形。

建構函式

建構函式 說明
GLatLngBounds(sw?:GLatLng,ne?:GLatLng) 從點的西南和東北角建構矩形。

方法

方法 傳回值 說明
equals(other:GLatLngBounds) Boolean 傳回 true(在特定捨入範圍中,此矩形中的所有參數與其他的參數相同的情形下)。
contains(latlng:GLatLng) Boolean 傳回 true(在點的地理座標位於此矩形之中的情形下)。

(從 2.88 開始被取代)

containsLatLng(latlng:GLatLng) Boolean 傳回 true(在點的地理座標位於此矩形之中的情形下)。

(從 2.88 開始)

intersects(other:GLatLngBounds) Boolean 如名稱所述。
containsBounds(other:GLatLngBounds) Boolean 如名稱所述。
extend(latlng:GLatLng) None 放大此矩形,讓它包含指定的點。在經度方向,以兩種方向中較小的方式放大。如果兩者相同,則會在東側邊界放大。
getSouthWest() GLatLng 傳回矩形西南角的點。
getNorthEast() GLatLng 傳回矩形東北角的點。
toSpan() GLatLng 傳回 GLatLng,其座標代表此矩形的大小。
isFullLat() Boolean 傳回 true(在此矩形從南極延伸至此極的情形下)。
isFullLng() Boolean 傳回 true(在此矩形以經度方向延伸至整個地球的情形下)。
isEmpty() Boolean 傳回 true,如果此矩形是空的。
getCenter() GLatLng 傳回矩形中央的點。

(從 2.52 開始)

interface GControl

由所有控制項實作的介面。您可以實作此介面來提供地圖的自訂控制項。控制項會使用 GMap2.addControl() 方法加入地圖。

疊加層會以相對於地圖的方式來放置,控制項與疊加層不同,它們會以相對於地圖檢視的方式來放置。也就是地圖移動時,它們不會跟著移動。

建構函式

建構函式 說明
GControl(printable?:Boolean,selectable?:Boolean) 建立新控制項類別的原型實例。旗標 printable 指出列印出的地圖中可以看到控制項。旗標 selectable 指出控制項包含可選取的文字。

方法

使用 GMap2.addControl() 將控制項加入地圖時,地圖會呼叫這些方法。因此,這些方法不是由您進行呼叫,但是會由您來實作

方法 傳回值 說明
printable() Boolean 如果控制項為可列印,則傳回地圖。
selectable() Boolean 如果控制項包含可選取的文字,則傳回地圖。
initialize(map:GMap2) Node 由地圖進行呼叫,讓控制項可以自行初始化。控制項會使用 GMap2.getContainer() 來保留包含地圖的 DOM 元素,並將本身加入。它傳回加入的元素。
getDefaultPosition() GControlPosition 控制項出現在地圖檢視的預設位置會傳回地圖。傳送給 GMap2.addControl() 的第二個引數會覆寫此值。

class GControlPosition

此類別說明控制項在地圖檢視中的位置。它是由相對於控制項位置的角以及決定此位置的移位所組成。它可以做為選用的引數 position 傳送給方法 GMap2.addControl(),而且它會從方法 GControl.getDefaultPosition() 傳回。

建構函式

建構函式 說明
GControlPosition(anchor:enum GControlAnchor,offset:GSize) 為控制項位置建立規格。

enum GControlAnchor

常數

常數 說明
G_ANCHOR_TOP_RIGHT 控制項會錨定在地圖右上角。
G_ANCHOR_TOP_LEFT 控制項會錨定在地圖左上角。
G_ANCHOR_BOTTOM_RIGHT 控制項會錨定在地圖右下角。
G_ANCHOR_BOTTOM_LEFT 控制項會錨定在地圖左下角。

class GControl

可以使用 interface GControl 的這些實作。

建構函式

建構函式 說明
GSmallMapControl() 建立具有按鈕的控制項,可以往四個方向平移、放大以及縮小。
GLargeMapControl() 建立具有按鈕的控制項,可以往四個方向平移、放大和縮小以及縮放滑桿。
GSmallZoomControl() 建立具有按鈕的控制項,可以放大和縮小。
GScaleControl() 建立可顯示地圖比例的控制項。
GMapTypeControl() 建立標準地圖類型控制項,透過按鈕在支援的地圖類型之間選取和切換。
GMenuMapTypeControl() 建立下拉式地圖類型控制項,在支援的地圖類型之間切換。
GHierarchicalMapTypeControl() 建立「巢狀」地圖類型控制項,透過按鈕和巢狀核取方塊在支援的地圖類型之間選取和切換。
GOverviewMapControl() 在主要地圖的角落,建立可摺疊的總覽迷你地圖,可以參考位置並透過拖曳進行導覽。GOverviewMapControl 會用寬一個像素的黑色邊框建立總覽地圖。注意:這個控制項與其他控制項不同,只能放在地圖的右下角 (G_ANCHOR_BOTTOM_RIGHT)。

class GMapTypeControl

GMapTypeControl 提供您在支援的地圖類型之間選取和切換的按鈕控制。建構此控制項後,目前附加至地圖的所有地圖類型都能使用此控制項。

根據預設,地圖支援 G_DEFAULT_MAP_TYPES 集;地圖也可以使用 GMap2.addMapType() 明確地加入其他地圖類型。要保留地圖上的空間,您可以改用 GHierarchicalMapTypeControl 來顯示「巢狀」地圖類型,或改用 GMenuMapTypeControl 來顯示下拉式地圖類型。

建構函式

建構函式 說明
GMapTypeControl(useShortNames?:Boolean) 建立 GMapTypeControl,如果 useShortNames 設為 true,則會使用地圖類型的簡短 (alt) 名稱。預設會使用完整名稱。

class GMenuMapTypeControl

GMenuMapTypeControl 提供您在支援的地圖類型之間選取和切換的下拉式功能表控制。建構此控制項後,目前附加至地圖的所有地圖類型都能使用此控制項。

根據預設,地圖支援 G_DEFAULT_MAP_TYPES 集;地圖也可以使用 GMap2.addMapType() 明確地加入其他地圖類型。

建構函式

建構函式 說明
GMenuMapTypeControl(useShortNames?:Boolean) 建立 GMenuMapTypeControl,如果 useShortNames 設為 true,則會使用地圖類型的簡短 (alt) 名稱。預設會使用完整名稱。

class GHierarchicalMapTypeControl

GHierarchicalMapTypeControl 提供「巢狀」地圖類型控制項,透過按鈕和巢狀核取方塊在支援的地圖類型之間選取和切換。建構此控制項後,目前附加至地圖的所有地圖類型都能使用此控制項。

加入地圖的地圖類型會顯示為如同一般 GMapTypeControl 中的按鈕。不過,如果是設為其他地圖類型子類型的地圖類型 (請參閱下列 addRelationship() 方法),會在父項按鈕下方顯示為核取方塊子功能表項目。

根據預設,地圖支援 G_DEFAULT_MAP_TYPES 集;也可以使用 GMap2.addMapType() 明確地加入其他地圖類型。建構此控制項後,目前附加至地圖的所有地圖類型都能使用此控制項。請注意,因為子類型顯示為核取方塊,因此您可以用子功能表中其父項或其同層級項目來切換外觀。

建構函式

建構函式 說明
GHierarchicalMapTypeControl() 建構控制項。根據預設,G_HYBRID_MAP 地圖類型是 G_SATELLITE_MAP 地圖類型的子項。如果您不需要這層關係,可以透過呼叫 clearRelationships() 方法將此關係移除。

方法

方法 傳回值 說明
addRelationship(parentType:GMapType, childType:GMapType, childText?:String, isDefault?:Boolean) None 註冊地圖類型和控制項之間的父項/子項關係。如果指定 childText,它會顯示在子地圖類型的核取方塊旁邊,而不是顯示在其名稱旁邊。如果 isDefault 為 true,則預設會選取子地圖類型。請注意,在加入控制項之前,必須先設定所有關係。(加入控制項之後才加入關係,不會有任何效果。)

(從 2.94 開始)

removeRelationship(mapType:GMapType) None 從控制項移除與地圖類型有關的所有關係。

(從 2.94 開始)

clearRelationships() None 從控制項移除所有關係。

(從 2.94 開始)

class GMapType

Google 提供部分預先定義的地圖類型 - 此類別會用來定義自訂的地圖類型。要在地圖上顯示自訂的地圖類型,請使用 GMap2 建構函式或 GMap2.addMapType() 方法。另請參閱 GTileLayerOverlay 以加入 (而非整個取代) 地圖的地圖方塊圖層。

此類別也可以是子類別。如果初始化為原型,則可以省略建構函式引數。子類別建構函式必須使用 call() 來叫用 GMapType 建構函式。

建構函式

建構函式 說明
GMapType(layers:GTileLayer[], projection:GProjection, name:String, opts?:GMapTypeOptions) 以指定地圖方塊圖層、投影、名稱以及選用的參數來建構地圖類型。

方法

接受此 maptype 的地圖最常呼叫這些方法,但是部分方法也可以從此地圖的外部呼叫,例如 getBoundsZoomLevel()

方法 傳回值 說明
getSpanZoomLevel(center:GLatLng, span:GLatLng, viewSize:GSize) Number 將縮放等級傳回地圖,在此等級下由中心和跨度定義的地圖部分,會符合指定大小 (以像素為單位) 的地圖檢視。
getBoundsZoomLevel(bounds:GLatLngBounds, viewSize:GSize) None 將縮放等級傳回地圖,在此等級下由邊界定義的地圖部分,會符合指定大小 (以像素為單位) 的地圖檢視。
getName(short?:Boolean) String 將地圖類型的名稱傳回地圖,它在 GMapTypeControl 中會做為按鈕標籤。
getProjection() GProjection 將此地圖類型的投影傳回地圖。
getTileSize() Number 將此地圖類型的地圖方塊大小 (以像素為單位) 傳回地圖。地圖方塊會假設為二次。所有地圖方塊圖層的地圖方塊大小都相同。
getTileLayers() GTileLayer[] 將地圖方塊圖層的陣列傳回地圖。
getMinimumResolution() Number 將此地圖類型定義之最低縮放等級傳回地圖。
getMaximumResolution() Number 將此地圖類型定義之最高縮放等級傳回地圖。
getTextColor() String 將疊放在地圖上的文字所使用的最佳色彩傳回地圖。copyright 控制項顯示的版權訊息文字,會使用此色彩。
getLinkColor() String 將疊放在地圖上的超連結所使用的最佳色彩傳回地圖。copyright 控制項顯示的使用條款的連結,會使用此色彩。
getErrorMessage() String 將錯誤訊息傳回地圖,此地圖類型在某區域或某縮放等級沒有地圖方塊時,會顯示此訊息。
getCopyrights(bounds:GLatLngBounds, zoom:Number) String[] 將版權訊息傳回地圖,bounds 在指定縮放等級為某區域描述的適當訊息。地圖上的版權訊息會使用此項。
getUrlArg() String 將網址參數值傳回地圖,此值會在目前地圖檢視的永久連結中識別此地圖類型。這目前只能由地圖應用程式使用。
getAlt() String 將此地圖類型的替代文字傳回地圖。

(從 2.86 開始)

常數

常數 說明
G_NORMAL_MAP 此地圖類型 (預設值) 會顯示一般的街道地圖。
G_SATELLITE_MAP 此地圖類型顯示衛星圖片。
G_HYBRID_MAP 此地圖類型會在衛星圖片上顯示主要街道的透明圖層。
G_PHYSICAL_MAP 此地圖類型會以實際圖徵 (例如地形和植被) 顯示地圖。此地圖類型預設不會顯示在地圖類型控制項。

(從 2.94 開始)

G_MOON_ELEVATION_MAP 此地圖類型顯示月球表面的陰影地形圖,並以高度進行色彩編碼。此地圖類型預設不會顯示在地圖類型控制項。

(從 2.95 開始)

G_MOON_VISIBLE_MAP 此地圖類型顯示從繞月軌道拍攝的照片。此地圖類型預設不會顯示在地圖類型控制項。

(從 2.95 開始)

G_MARS_ELEVATION_MAP 此地圖類型顯示火星表面的陰影地勢地圖,並以高度進行色彩編碼。此地圖類型預設不會顯示在地圖類型控制項。

(從 2.95 開始)

G_MARS_VISIBLE_MAP 此地圖類型顯示從繞著火星軌道拍攝的照片。此地圖類型預設不會顯示在地圖類型控制項。

(從 2.95 開始)

G_MARS_INFRARED_MAP 此地圖類型顯示火星表面的陰影紅外線地圖,其中較溫暖的區域顏色較淺,而較冷的區域顏色較深。

(從 2.95 開始)

G_SKY_VISIBLE_MAP 此地圖類型顯示覆蓋整個天體的天空拼接。

(從 2.95 開始)

G_SATELLITE_3D_MAP 此地圖類型與「Google Earth Browser Plug-in」,會以衛星圖片顯示地球的完全互動式 3D 模型。此地圖類型預設不會顯示在地圖類型控制項。

將此地圖類型加入地圖,不只會加入「Google 地球」地圖類型的控制項,只要使用者按一下控制項,也會處理地圖類型的初始化。如果使用者的瀏覽器目前沒有安裝「Google Earth Plug-in」,則會在第一次選取此地圖類型時,會提示使用者下載並安裝該外掛程式,並重新啟動瀏覽器。

已經安裝外掛程式的使用者,選取此地圖類型時,會建立地圖的地球實例,並顯示地球的 3D 檢視。您可以使用 GMap2.getEarthInstance() 抓取此地球實例,並使用「Google 地球 API」來操縱它。

標記、infowindows 以及折線目前都可以配合這個 3D 地圖類型,但是其他功能則尚未支援。我們會在以後陸續加入更多功能的支援。

(從 2.113 開始)

G_DEFAULT_MAP_TYPES 上述前三個預先定義的地圖類型陣列 (G_NORMAL_MAP、G_SATELLITE_MAP 以及 G_HYBRID_MAP)。
G_MOON_MAP_TYPES 上述定義的兩個月球類型的陣列 (G_MOON_ELEVATION_MAP 和 G_MOON_VISIBLE_MAP)。
G_MARS_MAP_TYPES 上述定義的三個火星地圖類型陣列 (G_MARS_ELEVATION_MAP、G_MARS_VISIBLE_MAP 以及 G_MARS_INFRARED_MAP)。
G_SKY_MAP_TYPES 上述定義的天空地圖類型陣列 (G_SKY_VISIBLE_MAP)。

事件

Event 說明
newcopyright(copyright:GCopyright) 此地圖類型之其中一個地圖方塊圖層的 copyright 集合加入新的版權時,會引發此事件。

class GMapTypeOptions

此類別的實例會用在建構函式 GMapTypeopts? 引數。此類別沒有建構函式。此類別會具現化為 javascript 物件實字。

Property

Property 類型 說明
shortName String 設定地圖類型的簡短名稱,此地圖類型是從 GMapType.getName(true) 傳回。預設與 name 相同。
urlArg String 設定地圖類型的網址引數,此地圖類型是從 GMapType.getUrlArg() 傳回。預設為空字串。
maxResolution Number 設定此地圖類型的最大縮放等級,此地圖類型是 GMapType.getMaximumResolution() 所傳回。預設會是所有地圖方塊圖層的最大值。
minResolution Number 設定此地圖類型的最小縮放等級,此地圖類型是 GMapType.getMinimumResolution() 所傳回。預設會是所有地圖方塊圖層的最小值。
tileSize Number 設定 GMapType.getTileSize() 傳回的地圖方塊大小。預設為 256
textColor String 設定 GMapType.getTextColor() 傳回的文字色彩。預設為 "black"
linkColor String 設定 GMapType.getLinkColor() 傳回的文字色彩。預設為 "#7777cc"
errorMessage String 設定 GMapType.getErrorMessage() 傳回的錯誤訊息。預設為空字串。
alt String 設定 GMapType.getAlt() 傳回地圖類型的替代文字。預設為空字串。

(從 2.64 開始)

radius Number 以指定的傳入 Number (以公尺為單位),設定地圖類型的半徑。預設值為 6378137,地球的赤道半徑 (以公尺為單位)。

(從 2.89 開始)

class GLayer

此類別具現化預先定義的「圖層」疊加層,此疊加層是由相關項目的集合所組成。它實作 GOverlay 介面,因此會使用 GMap2.addOverlay() 方法新增至地圖。

建構函式

建構函式 說明
GLayer(layerId:String) 使用指定的唯一圖層 ID 建立圖層。 http://spreadsheets.google.com/pub?key=p9pdwsai2hDN-cAocTLhnag 包含目前支援圖層的清單。

方法

方法 傳回值 說明
hide() None 隱藏此疊加層讓它不可見,但將它維持在各個疊加層堆疊的位置。
show() None 顯示之前隱藏的 GLayer。

靜態方法

方法 傳回值 說明
GLayer.isHidden(layerId:String) None 傳回 true (在圖層疊加層為隱藏,或者沒有使用 GMap2.addOverlay() 方法加入地圖的情形下)。否則,就傳回 false

interface GTileLayer

您可以透過 GMapTypeGTileLayerOverlay 實作此介面,以提供自訂的地圖方塊圖層。實作此介面時,應該使用 GTileLayer 的實例做為原型,因為此實作會為您處理版權。

建構函式

建構函式 說明
GTileLayer(copyrights:GCopyrightCollection, minResolution:Number, maxResolution:Number, options?:GTileLayerOptions) 如果初始化為原型,則可以省略建構函式引數。子類別建構函式必須使用 call()來叫用此建構函式。選用的 options 參數指定的一組 GTileLayerOptions,應做為物件實字來傳送。

方法

地圖和地圖類型 (此地圖方塊圖層所傳送者) 會呼叫這些方法。實作自訂地圖方塊圖層時,您需要實作方法,並將它標示為 abstract

方法 傳回值 說明
minResolution() Number 將此地圖方塊圖層之最低縮放等級傳回地圖類型。
maxResolution() Number 將此地圖方塊圖層之最高縮放等級傳回地圖類型。
getTileUrl(tile:GPoint, zoom:Number) String 抽象。 將地圖方塊的網址傳回地圖,該地圖方塊具有 GPointxy Property 在指定縮放等級所指定的地圖方塊索引。
isPng() Boolean 抽象。 傳回地圖,指出地圖方塊是否為 PNG 圖片格式 (如果是,則可以為透明)。否則會假設為 GIF。
getOpacity() Number 抽象。 將此地圖方塊圖層要顯示的透明度傳回地圖。1.0 為不透明,而 0.0 為透明。
getCopyright(bounds:GLatLngBounds, zoom:Number) String 抽象。 將此地圖方塊圖層的版權訊息傳回地圖,此地圖方塊圖層與指定縮放等級的指定地圖區域有關。這是用來產生此地圖方塊圖層所屬之 GMapType 的版權訊息。

(從 2.89 開始)

事件

Event 說明
newcopyright(copyright:GCopyright) 此地圖方塊圖層的 copyright 集合加入新的版權時,會引發此事件。

class GTileLayerOptions

此類別代表 GTileLayer 介面的選用引數。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
opacity Number 設定地圖方塊的透明度,從 0.0 (透明) 到 1.0 (不透明)。預設為 1.0。
isPng Boolean 指出地圖方塊是否為 PNG 格式。
tileUrlTemplate String 指定地圖方塊網址的範本,此範本會根據現有的地圖方塊座標系統,擴充每個地圖方塊要求,以參照唯一的地圖方塊。在 GTileLayer 建構函式中放置範本,可讓您使用此座標系統動態抓取地圖方塊,與「Google 地圖」抓取地圖方塊的方式類似。

範本的格式應該如下:
http://host/tile?x={X}&y={Y}&z={Z}.png
,其中 X 和 Y 是指緯度和經度地圖方塊座標,而 Z 是指縮放等級。例如 http://host/tile?x=3&y=27&z=5.png
draggingCursor String 拖曳地圖時顯示游標。

(從 2.59 開始)

class GTileLayerOverlay

GTileLayerOverlay 會以 GTileLayer 增強地圖。它實作 GOverlay 介面,因此會使用 GMap2.addOverlay() 方法新增至地圖。GTileLayer 會顯示在現有地圖圖片的上方 - 如果要取代圖片,請將 GTileLayer 放在自訂的 GMapType 中。

建構函式

建構函式 說明
GTileLayerOverlay(tileLayer:GTileLayer, opts?:GTileLayerOverlayOptions) 建立 GOverlay 以包裝 tileLayer

(從 2.61 開始)

方法

方法 傳回值 說明
hide() None 隱藏此疊加層讓它不可見,但將它維持在各個疊加層堆疊的位置。

(從 2.71 開始)

isHidden() None 如果地圖方塊圖層疊加層為隱藏,則傳回 true。否則,就傳回 false

(從 2.87 開始)

show() None 顯示之前隱藏的 GTileLayerOverlay

(從 2.71 開始)

refresh() None 重新載入附加至此 GTileLayerOverlay 的所有可見的地圖方塊。

(從 2.132 開始)

supportsHide() None 永遠傳回 true

(從 2.87 開始)

getTileLayer() None 傳回這個疊加層使用的地圖方塊圖層。

(從 2.83 開始)

class GTileLayerOverlayOptions

此類別代表 GTileLayerOverlayOptions 建構函式的選用引數。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
zPriority Number zPriority 包含的值可決定此 TileLayerOverlay 的相對 z-order。較高優先權的地圖方塊圖層會呈現在較低優先權地圖方塊圖層的上方。

(從 2.110 開始)

class GCopyrightCollection

您使用此類別來管理自訂地圖類型之地圖所顯示的版權訊息。如果您不實作自訂地圖類型,則不需要使用此類別。版權集的資訊包括地圖上哪些區域的哪些縮放等級顯示的版權資訊。這對於顯示異質資料 (例如衛星地圖類型) 的地圖類型非常重要。

建構函式

建構函式 說明
GCopyrightCollection(prefix?:String) 這個 copyright 集合產生的版權訊息,的共用首碼為引數所指定。
範例:「Imagery (C) 2006」

方法

方法 傳回值 說明
addCopyright(copyright:GCopyright) None 將版權資訊物件加入集合。
getCopyrights(bounds:GLatLngBounds, zoom:Number) String[] 傳回與指定縮放等級的指定地圖區域相關的所有版權字串。
範例:[ "Google", "Keyhole" ]
getCopyrightNotice(bounds:GLatLngBounds, zoom:Number) String 傳回與指定縮放等級的指定地圖區域相關的首碼以及所有版權字串。
範例:「Imagery (C) 2006 Google, Keyhole」

事件

Event 說明
newcopyright(copyright:GCopyright) 此 copyright 集合加入新的版權時,會引發此事件。

class GCopyright

copyright 物件包含關於版權的訊息,會套用於指定縮放等級、由矩形指定的地圖區域。您實作自訂地圖類型或地圖方塊圖層時,才需要此物件。

建構函式

建構函式 說明
GCopyright(id:Number, bounds:GLatLngBounds, minZoom:Number, text:String) 以指定 Property 建立版權資訊物件。

Property

Property 類型 說明
id Number 此版權資訊的唯一識別碼。
minZoom Number 套用此資訊的最低縮放等級。
bounds GLatLngBounds 套用此資訊的區域。
text String 版權訊息的文字。

interface GProjection

這是地圖投影的介面。地圖投影實例會傳送給 GMapType 的建構函式。此介面是由 class GMercatorProjection (所有預先定義的地圖類型都會用到) 實作。如果要以不同的地圖投影定義地圖類型,您可以實作此介面。

方法

These methods are called by the map. You need to implement them.

方法 傳回值 說明
fromLatLngToPixel(latlng:GLatLng, zoom:Number) GPoint 傳回點在指定地理座標和指定縮放等級的地圖座標 (以像素為單位)。
fromPixelToLatLng(pixel:GPoint, zoom:Number, unbounded?:Boolean) GLatLng 傳回點在指定地理座標和指定縮放等級的地圖座標 (以像素為單位)。旗標 unbounded 會讓地理經度座標超過 -180 或 180 度子午線時,不會折返。
tileCheckRange(tile:GPoint, zoom:Number, tilesize:Number) Boolean 如果地圖方塊索引位於地圖類型的有效範圍內,則傳回地圖。否則,地圖會顯示空的地圖方塊。它也可能修改 tile 索引,以指向相同地圖方塊的另一個實例 (如果地圖包含多份地球,因此相同地圖方塊會位於不同地圖方塊座標)。
getWrapWidth(zoom:Number) Number 傳回 x 方向的地圖周期;也就是某個像素數,在此像素數後,地圖已經圍繞地球一圈、開始重複。根據預設,會傳回 Infinity,也就是地圖本身不會重複。如果地圖檢視上包含超過一個地球複本 (通常只有在低縮放等級時才會發生),地圖就會用它來計算地圖檢視上的疊加層要如何放置。

(從 2.46 開始)

class GMercatorProjection

所有預先定義的地圖類型都會用到 GProjection 介面為麥卡托投影的這個實作。

建構函式

建構函式 說明
GMercatorProjection(zoomlevels:Number) 為指定的縮放等級建立麥卡托投影。

方法

方法 傳回值 說明
fromLatLngToPixel(latlng:GLatLng, zoom:Number) GPoint 請參閱 GProjection
fromPixelToLatLng(pixel:GPoint, zoom:Number, unbounded?:Boolean) GLatLng 請參閱 GProjection
tileCheckRange(tile:GPoint, zoom:Number, tilesize:Number) None 請參閱 GProjection
getWrapWidth(zoom:Number) None 請參閱 GProjection。麥卡托投影在經度方向具有週期性,因而此項會傳回整個地圖在指定縮放等級下的寬度 (以像素為單位)。

(從 2.46 開始)

namespace GEvent

此命名空間的功能可讓您用來註冊事件處理常式 (包括自訂事件和 DOM 事件),並引發自訂事件。使用此 API 定義的所有事件,內部都是可以用 GEvent.trigger() 引發的自訂事件。

靜態方法

方法 傳回值 說明
GEvent.addListener(source:Object, event:String, handler:Function) GEventListener 在來源物件上為自訂事件註冊事件處理常式。傳回控制代碼,可用於稍後解除註冊處理常式。該事件處理常式會以設定至該來源物件的 this 來呼叫。
GEvent.addDomListener(source:Node, event:String, handler:Function) GEventListener 在來源物件上為 DOM 事件註冊事件處理常式。來源物件必須是 DOM 節點。傳回控制代碼,可用於稍後解除註冊處理常式。該事件處理常式會以設定至該來源物件的 this 來呼叫。此函式使用 DOM 方法為目前的瀏覽器來註冊事件處理常式。
GEvent.removeListener(handle:GEventListener) None 移除使用 addListener()addDomListener() 安裝的處理常式。
GEvent.clearListeners(source:Object or Node, event:String) None 移除使用 addListener()addDomListener() 在指定物件上的指定事件安裝的所有處理常式。
GEvent.clearInstanceListeners(source:Object or Node) None 移除使用 addListener()addDomListener() 在指定物件上的指定事件安裝的所有處理常式。
GEvent.clearNode(source:Node) None 在節點及其所有子節點上遞迴呼叫 clearInstanceListeners
GEvent.trigger(source:Object, event:String, ...) None 引發來源物件上的自訂事件。在 event 做以引數傳送給事件處理常式函式之後,所有剩餘的選用引數。
GEvent.bind(source:Object, event:String, object:Object, method:Function) GEventListener 將指定物件上的叫用方法,註冊為來源物件上自訂事件的事件處理常式。傳回控制代碼,可用於稍後解除註冊處理常式。
GEvent.bindDom(source:Node, event:String, object:Object, method:Function) GEventListener 將指定物件上的叫用方法,註冊為來源物件上自訂事件的事件處理常式。傳回控制代碼,可用於稍後解除註冊處理常式。
GEvent.callback(object:Object, method:Function) Function 傳回在 object 上呼叫 method 的 Closure。
GEvent.callbackArgs(object:Object, method:Function, ...) Function 傳回在 object 上呼叫 method 的 Closure。在 method 之後,叫用傳回的函式時,所有剩餘選用引數會一一傳送為 method 引數。

事件

Event 說明
clearlisteners(event?:String) 在該物件上叫用 clearListeners()clearInstanceListeners() 時,會引發此事件。當然,事件會在執行函式就先引發。

class GEventListener

此類別是封閉的。它沒有任何方法,也沒有任何建構函式。它的實例是從 GEvent.addListener()GEvent.addDomListener() 傳回,而且最後會傳回給 GEvent.removeListener()

namespace GXmlHttp

此命名空間提供一種工廠方法 (factory method),以建立可在各種瀏覽器使用的 XmlHttpRequest 實例。

靜態方法

方法 傳回值 說明
GXmlHttp.create() GXmlHttp 建立新 XmlHttpRequest 實例的工廠方法 (factory method)。

namespace GXml

此命名空間提供靜態方法,處理 XML 文件和文件片段。

靜態方法

方法 傳回值 說明
GXml.parse(xmltext:String) Node 將指定字串剖析為 XML 文字,並傳回 DOM 型式。如果瀏覽器原本就不支援 XML 剖析功能,此項會傳回空 DIV 元素的 DOM 節點。
GXml.value(xmlnode:Node) String 傳回以 DOM 型式指定之 XML 文件片段的文字值 (僅純文字內容)。

class GXslt

此類別提供將 XSLT 套用至 XML 的方法 (與瀏覽器種類無關)。

靜態方法

方法 傳回值 說明
GXslt.create(xsltnode:Node) GXslt 從指定為 DOM 型式的 XSLT 樣式表建立 GXslt 實例。
GXslt.transformToHtml(xmlnode:Node, htmlnode:Node) Boolean 使用此 GXslt 實例之建構函式指定的 XSLT 樣式表,來轉換 XML 文件 (此文件在 xmlnode 中以 DOM 型式指定)。將產生的 HTML 文件片段附加至指定的 htmlnode。瀏覽器原生支援 XSL 轉換時才會運作,在此情況下,會傳回 true。否則,此函式不會執行任何動作,並傳回 false

namespace GLog

此命名空間包含一些靜態方法,可協助您對網路應用程式進行除錯。您第一次使用 write*() 的其中一種方法時,會在頁面上開啟浮動的視窗,並顯示寫入的訊息。

靜態方法

方法 傳回值 說明
GLog.write(message:String, color?:String) None 以純文字訊息寫入記錄視窗。會逸出 HTML 標記字元,讓它們可以顯示為字元。
GLog.writeUrl(url:String) None 將指定網址的連結寫入記錄視窗。
GLog.writeHtml(html:String) None 以 HTML 將文字寫入記錄視窗。

class GDraggableObject

此類別會將 DOM 元素變成可拖曳。變更拖曳游標的靜態成員,會影響後續建立的所有可拖曳物件,例如地圖、縮放控制滑桿以及總覽地圖矩形。每個實例成員只會影響其特定的實例。例如,建立地圖之前,您可以呼叫 GDraggableObject.setDraggableCursor('default')GDraggableObject.setDraggingCursor('move') 來取得 API 2.56 之前的樣式。或者,地圖建構函式可接受選項以設定其 DraggableObject 的游標樣式。請參閱 W3C CSS 規格以取得允許的游標值。

建構函式

建構函式 說明
GDraggableObject(src:Node, opts?:GDraggableObjectOptions) 設定事件處理常式,讓來源元素可以被拖曳。選用的左和上用來放置元素,而選用的容器則做為界限方塊。

(從 2.59 開始)

靜態方法

方法 傳回值 說明
GDraggableObject.setDraggableCursor(cursor:String) None 設定可拖曳的游標,供後續建立的可拖曳物件使用。

(從 2.59 開始)

GDraggableObject.setDraggingCursor(cursor:String) None 設定拖曳的游標,供後續建立的可拖曳物件使用。

(從 2.59 開始)

GDraggableObject.getDraggingCursor() String 傳回地圖目前正在使用的拖曳游標。如果未透過靜態 setDraggingCursor() 方法設定,本項會傳回地圖使用的預設游標供其控制項和標記使用。

(從 2.87 開始)

GDraggableObject.getDraggableCursor() String 傳回地圖目前正在使用的可拖曳游標。如果未透過靜態 setDraggableCursor() 方法設定,本項會傳回地圖使用的預設游標供其控制項和標記使用。

(從 2.87 開始)

方法

方法 傳回值 說明
setDraggableCursor(cursor:String) None 設定滑鼠移過這個可拖曳物件時的游標。

(從 2.59 開始)

setDraggingCursor(cursor:String) None 設定滑鼠按下、拖曳這個可拖曳物件時的游標。

(從 2.59 開始)

moveTo(point:GPoint) None 移動 GDraggableObject 至指定的絕對位置。位置位於相對於父項節點的像素座標。此方法使用 DOM 座標系統,即 X 座標向左增加,而 Y 座標向下增加。

(從 2.89 開始)

moveBy(size:GSize) None 按指定的位移大小移動 GDraggableObject。此方法使用 DOM 座標系統,即寬度向左增加,而高度向下增加。

(從 2.89 開始)

事件

Event 說明
mousedown() 回應 DOM mousedown 事件,會引發此事件。處理此事件,就不會發生 DOM mousedown 事件的預設動作。

(從 2.84 開始)

mouseup() 在可拖曳物件上回應 DOM mouseup 事件,會引發此事件。處理此事件,就不會發生 DOM mouseup 事件的預設動作。

(從 2.84 開始)

click() 按一下可拖曳物件時,會引發此事件。

(從 2.84 開始)

dragstart() 可拖曳物件的拖曳事件開始時 (當使用者按一下並拖曳一個可拖曳物件以初始拖曳時),會引發此事件。

(從 2.84 開始)

drag() 使用者拖曳可拖曳物件時,會重複引發此事件。

(從 2.84 開始)

dragend() 可拖曳物件的拖曳事件結束時 (當使用者釋放拖曳時),會引發此事件。

(從 2.84 開始)

class GDraggableObjectOptions

此類別代表 GDraggableObject 建構函式的選用引數。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
left Number 物件的左側起始位置。

(從 2.59 開始)

top Number 物件的上方起始位置。

(從 2.59 開始)

container Node 做為可拖曳物件之界限方塊的 DOM 元素。

(從 2.59 開始)

draggableCursor String 滑鼠移至上方時顯示的游標。

(從 2.59 開始)

draggingCursor String 拖曳時顯示的游標。

(從 2.59 開始)

delayDrag Boolean 依照預設,在可拖曳 DOM 元素引發 DOM mousedown 事件時,會引發 dragstart 事件。同樣地,引發 DOM mouseup 事件時,會引發 dragend。將此值設定為 true,會延遲拖曳事件,直到滑鼠從產生 mousedownmouseup 的位置移動。此 Property 的預設值為 false

(從 2.84 開始)

enum GGeoStatusCode

每個符號常數的對等數字會在括弧中指定。

常數

常數 說明
G_GEO_SUCCESS
= 200
沒有發生錯誤;地址成功剖析,而且已傳回它的地理編碼。

(從 2.55 開始)

G_GEO_BAD_REQUEST
= 400
導航要求無法成功剖析。例如,如果要求的路點數量超出允許的上限,就會被拒絕。

(從 2.81 開始)

G_GEO_SERVER_ERROR
= 500
地理編碼 (Geocoding) 或導航要求無法成功處理,但是確切的失敗原因未知。

(從 2.55 開始)

G_GEO_MISSING_QUERY
= 601
HTTP q 參數遺失或沒有值。對於地理編碼要求而言,這代表輸入中指定的地址是空的。對於導航要求而言,這代表輸入中沒有指定查詢。

(從 2.81 開始)

G_GEO_MISSING_ADDRESS
= 601
G_GEO_MISSING_QUERY 的同義字。

(從 2.55 開始)

G_GEO_UNKNOWN_ADDRESS
= 602
無法為指定的地址找到對應的地理位置。這可能是因為該地址較新,或不正確。

(從 2.55 開始)

G_GEO_UNAVAILABLE_ADDRESS
= 603
因為法律或合約問題,無法傳回指定地址的地理編碼或指定導航查詢的路線。

(從 2.55 開始)

G_GEO_UNKNOWN_DIRECTIONS
= 604
GDirections 物件無法計算查詢中各點之間的導航。這通常是因為兩個點之間沒有可行路線,或因為我們沒有該區域的路線資料。

(從 2.81 開始)

G_GEO_BAD_KEY
= 610
指定的金鑰無效,或不符合為金鑰指定的網域。

(從 2.55 開始)

G_GEO_TOO_MANY_QUERIES
= 620
指定的金鑰在 24 小時期間內已超過要求限制,或者在太短的時間內提交太多要求。如果您以平行方式或密集的迴圈傳送多個要求,請在您的程式碼中使用計時器或暫停,以確保您傳送要求的速度不會過快。

(從 2.55 開始)

enum GGeoAddressAccuracy

此列舉沒有定義任何符號常數。

常數

常數 說明
0 未知的位置。

(從 2.59 開始)

1 國家/地區等級精確性。

(從 2.59 開始)

2 區域 (州、省、縣等等) 等級精確性。

(從 2.59 開始)

3 次區域 (郡、自治市等等) 等級精確性。

(從 2.59 開始)

4 鎮 (市、村) 等級精確性。

(從 2.59 開始)

5 郵遞區號等級精確性。

(從 2.59 開始)

6 街道等級精確性。

(從 2.59 開始)

7 交叉路口等級精確性。

(從 2.59 開始)

8 地址等級精確性。

(從 2.59 開始)

9 地點 (建築物名稱、公共設施名稱、購物中心等等) 等級精確性。

(從 2.105 開始)

class GClientGeocoder

此類別用來真接與 Google 伺服器通訊,以獲得使用者指定地址的地理編碼。此外,Geocoder 會維護地址快取,如果遇到重覆的查詢,不需要再在伺服器之間往來就可以回應。一般而言,最好的作法是不建議在迴圈中使用 GClientGeocoder 函式。如果開發人員有多個地址要進行地理編碼,請改用我們的 HTTP Geocoder

建構函式

建構函式 說明
GClientGeocoder(cache?:GGeocodeCache) 建立與 Google 伺服器直接對話的 Geocoder 新實例。使用選用的快取參數,就能針對已知地址指定用戶端快取。如果沒有指定,則會使用 GFactualGeocodeCache

(從 2.55 開始)

方法

方法 傳回值 說明
getLatLng(address:String, callback:function) None 傳送要求至 Google 伺服器,對指定的地址進行地理編碼。如果成功找出地址的所在,則會以 GLatLng 點叫用使用者特定的回呼函式。否則,回呼函式會指定 null 點。如果地址模稜兩可,就只會將最符合的點傳給回呼函式。

(從 2.55 開始)

getLocations(query:String|GLatLng,callback:function) None 此方法傳送要求給 Google 地理編碼服務,要求它剖析指定的 query,並以指定的 callback 處理回應。「地理編碼」是指將人類可閱讀的地址轉換為緯度/經度值的過程。Google 地理編碼服務也支援「反向地理編碼」(Reverse Geocoding),也就是將地理點轉換為人類可閱讀的地址。要使用此地理編碼服務,請呼叫此方法,並將它傳送給 query 以進行地理編碼。如果查詢提供為可處理的 String,則服務會執行標準地理編碼。但是,如果 query 包含 GLatLng,則服務會執行反向地理編碼。因為此方法需要呼叫 Google 伺服器,您也必須傳送 callback 方法來處理回應。此回應會包含 Status 碼,如果成功,則還包含一或多個 Placemark 物件。與 GClientGeocoder.getLatLng 方法不同,回呼函式會檢查 Status 欄位,判斷失敗的原因。

(從 2.55 開始)

getCache() GGeocodeCache 傳回目前使用的地理編碼快取,或 null (如果沒有執行用戶端快取)。

(從 2.55 開始)

setCache(cache:GGeocodeCache) None 設定新的用戶端快取。如果在快取設定為 null 時叫用此方法,會停用用戶端快取。設定新的快取,並捨棄之前儲存的地址。

(從 2.55 開始)

setViewport(bounds:GLatLngBounds) None 設定 Geocoder 放大地理編碼結果在指定檢視區中或附近。檢視區會表示為 GLatLngBounds 矩形。請注意,設定檢視區並不代表結果只會限於該界限方塊之中,但方塊中的結果優先順序會提高。

(從 2.82 開始)

getViewport() GLatLngBounds 傳回檢視區以放大該 Geocoder 中的地理編碼結果。檢視區會表示為 GLatLngBounds 矩形。

(從 2.82 開始)

setBaseCountryCode(countryCode:String) None

設定 Geocoder 來影響搜尋結果,宛如是從指定的國家/地區代碼頂層網域 (ccTLD) 指定的網域進行傳送。地理編碼只支援「Google 地圖」本身有支援地理編碼的國家/地區。大部分 ccTLD 代碼與 ISO 3166-1 代碼相同,只有少數例外。例如,英國的 ccTLD 是「uk」(.co.uk),而其 ISO 3166-1 代碼為「GB」。

請注意,預設網域是您一開始載入「地圖 API」的網域。國家/地區代碼不分大小寫。

(從 2.82 開始)

getBaseCountryCode() String 傳回指定 Geocoder 目前正在使用的國家/地區代碼。(如果沒有任何現用的國家/地區代碼,則此方法會傳回 null。)

(從 2.82 開始)

reset() None 重設 Geocoder。特別是如果 Geocoder 使用了用戶端快取,這個方法就會在用戶端快取上呼叫 GGeocodeCache.reset()

(從 2.55 開始)

class GGeocodeCache

此類別維護一份從地址到已知位置的地圖。此類別已具有完整功能,但以它為基礎類別可衍生出更精巧的快取功能。

建構函式

建構函式 說明
GGeocodeCache() 建立新的快取,以儲存從地址到位置的地圖。建構函式會立即呼叫 GGeocodeCache.reset 方法。

(從 2.55 開始)

方法

方法 傳回值 說明
get(address:String) Object 傳回在指定 address 下儲存的回覆。如果指定地址沒有任何儲存的回覆,則此方法會傳回 null

(從 2.55 開始)

isCachable(reply:Object) Boolean 傳回是否要快取指定的回覆。根據預設,會在 reply 物件上執行初步的檢查。特別是,此類別會確認物件不是 null,而且該物件具有 name 欄位。擴充類別可能會覆寫此方法,以便在 reply 物件上提供更精準的狀況。

(從 2.55 開始)

put(address:String, reply:Object) None 在指定的 address 下儲存指定的 reply。此方法會呼叫 GGeocodeCache.isCachable 方法,確保會快取 reply。如果得到允許,則會在 GGeocodeCache.toCanoninical 方法協助正常化的地址下快取 reply

(從 2.55 開始)

reset() None 清除快取中的所有回覆。此方法傳回之後,快取就會清空。

(從 2.55 開始)

toCanonical(address:String) String 傳回正式版本的地址。它會將 address parameter 轉換為小寫,以空格取代逗號,並以單一空格取代多個空格。

(從 2.55 開始)

class GFactualGeocodeCache

此類別修正基本的 GGeocodeCache 類別,對取快取的回覆加上更嚴格的條件。它只會快取短時間之內不可能變更的回覆。

建構函式

建構函式 說明
GFactualGeocodeCache() 建立新的快取,只儲存它認為實際存在的回覆。

(從 2.55 開始)

方法

方法 傳回值 說明
isCachable(reply:Object) Boolean 覆寫此方法的預設實作,以執行更詳細的狀態碼檢查。回履的 Status.code 必須設為 G_GEO_SUCCESS,或是已知回覆不正確,才會視為可快取。回覆如果過期,或導致一般伺服器錯誤,就不會快取。

(從 2.55 開始)

class GMarkerManager

根據地圖目前的檢視區和縮放等級,使用此類別來管理地圖上所有標記的可視性。不建議使用此類別;建議開發人員改用開放原始碼的 MarkerManager。

建構函式

建構函式 說明
GMarkerManager(map:GMap, opts?:GMarkerManagerOptions) 建立新的標記管理程式,為指定地圖控制標記的可視性。

(從 2.67 開始)

方法

方法 傳回值 說明
addMarkers(markers:GMarker[], minZoom:Number, maxZoom?:Number) None 將一批標記加入此標記管理程式。在呼叫 refresh() 方法之前,這些標記並不會加入地圖。標記放置在地圖上之後,如果位於地圖目前的檢視區,而且地圖的縮放等級大於或等於指定的 minZoom,就會顯示。如果指定 maxZoom,而地圖的縮放大於指定的等級時,標記會自動移除。

(從 2.67 開始)

addMarker(marker:GMarker, minZoom:Number, maxZoom?:Number) None 將單一標記加入此管理員控制的標記集合。如果標記的位置位於地圖目前的檢視區,而且地圖的縮放等級在指定的縮放等級範圍內,則會立即將標記加入地圖。與 addMarkers 方法相似,minZoom 和選用的 maxZoom 參數會指定標記要顯示的縮放等級範圍。

(從 2.67 開始)

refresh() None 強制管理員更新顯示在地圖上的標記。如果使用 addMarkers 方法加入標記,則必須呼叫此方法。

(從 2.67 開始)

getMarkerCount(zoom:Number) Number 傳回指定縮放等級潛在可見的標記總數。這可能會包括位於更低縮放等級的標記。

(從 2.67 開始)

事件

Event 說明
changed(bounds:GBounds, markerCount:Number) 由管理員所管理的標記加入地圖,或從地圖移除時,會引發此事件。事件處理常式要準備接收兩個引數。第一個是定義可視格子界限的矩形。第二個會帶有目前顯示在地圖上標記的數量。

class GMarkerManagerOptions

此類別代表 GMarkerManager 建構函式的選用引數。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
borderPadding Number 以像素指定由管理員監控之地圖目前檢視區外的額外邊框。位於此邊框的標記會加入地圖,即使它們並非完全可見。

(從 2.67 開始)

maxZoom Number 設定由標記管理程式監控的最大縮放比例。如果沒有指定,則管理員會假設為地圖的最大縮放等級。標記加入管理員,卻沒有選用的 maxZoom 參數時,也會使用此值。

(從 2.67 開始)

trackMarkers Boolean 指出標記管理程式是否要追蹤標記的移動。如果您要使用 setPoint 方法來移動受管理的標記,則此選項應設為 true。預設值為 false

(從 2.67 開始)

class GGeoXml

GGeoXml 物件會從 XML 檔案 (例如 KML 檔) 將地理內容新增至地圖,這類檔案會主控於可公開使用的網頁伺服器。它實作 GOverlay 介面,因此會使用 GMap2.addOverlay() 方法新增至地圖。

建構函式

建構函式 說明
GGeoXml(urlOfXml:String, callback?:function) 建立代表該 XML 檔案的 GOverlayGGeoXml 物件結束載入 XML 檔案時,會叫用選用的回呼函式。

(從 2.108 開始被取代)

GGeoXml(urlOfXml:String) 建立代表該 XML 檔案的 GOverlay

(從 2.108 開始)

方法

方法 傳回值 說明
getTileLayerOverlay() GTileLayerOverlay 特定狀況下,以最佳化為目的時,GGeoXml 物件可以建立地圖方塊疊加層。此方法傳回此地圖方塊圖層疊加層 (如果有的話)。請注意,如果不需要地圖方塊疊加層,或者如果 GGeoXml 檔案尚未完成載入,則地圖方塊疊加層可以是 null

(從 2.84 開始)

getDefaultCenter() GLatLng 以 lat/lng 傳回預設檢視區的中心。檔案完成載入後,才能呼叫此函式。

(從 2.84 開始)

getDefaultSpan() GLatLng 以 lat/lng 傳回預設檢視區的跨度。檔案完成載入後,才能呼叫此函式。

(從 2.84 開始)

getDefaultBounds() GLatLngBounds 傳回預設檢視區的界限方塊。檔案完成載入後,才能呼叫此函式。

(從 2.84 開始)

gotoDefaultViewport(map:GMap2) None 將地圖的檢視區設定為 XML 檔案的預設檢視區。

(從 2.84 開始)

hasLoaded() Boolean 檢查 XML 檔案是否已載入完成,如果完成則傳回 true。如果 XML 檔案尚未完成載入,此方法會傳回 false

(從 2.84 開始)

hide() None 如果疊加層目前為可見模式,且疊加層的 supportsHide() 方法傳回 true,則隱藏 GGeoXml 物件建立的子疊加層。請注意,此方法不會為每個子疊加層觸發個別的 visibilitychanged 事件。前述的子疊加層會引發該事件 (例如 GMarker.visibilitychangedGGroundOverlay.visibilitychanged 等等)。如果目前沒有任何傳回 supportsHide() 為 true 的疊加層,則此方法沒有任何作用。

(從 2.87 開始)

isHidden() Boolean 如果 GGeoXml 目前為隱藏模式 (由 GGeoXml.hide() 方法所變更),則傳回 true。否則,就傳回 false

(從 2.87 開始)

loadedCorrectly() Boolean 檢查 XML 檔案是否已正確載入,如果正確則傳回 true。如果 XML 檔案未正確載入,此方法會傳回 false。如果 XML 檔案尚未完成載入,就不會定義此方法的傳回值。

(從 2.84 開始)

show() None 顯示 GGeoXml 物件建立的子疊加層,如果它們目前為隱藏模式。請注意,此方法不會為每個子疊加層觸發個別的 visibilitychanged 事件。前述的子疊加層會引發該事件 (例如 GMarker.visibilitychangedGGroundOverlay.visibilitychanged)。

(從 2.87 開始)

supportsHide() Boolean 永遠傳回 true

(從 2.87 開始)

事件

Event 說明
load() 如果 GGeoXml 的 XML 檔案已完全載入、而且相關的疊加層已顯示在地圖上,或者如果 XML 檔案未正確載入,就會引發此事件。

(從 2.108 開始)

function GDownloadUrl

此函式提供便利的方式,可以非同步抓取由網址識別的資源。請注意,因為 XmlHttpRequest 物件會用來執行要求,所以受到跨網站指令碼的相同來源限制;換言之,網址參考的伺服器必須與目前執行此程式碼文件的網址相同。因此,為 url 引數使用絕對網址顯得有點多餘,而且最好僅使用絕對或相對路徑。呼叫者必須負責處理可能發生的例外狀況,例如安全性錯誤。

函式

方法 傳回值 說明
GDownloadUrl(url:String, onload:Function, postBody?:String, postContentType?:String) None 抓取來自指定網址的資源,呼叫 onload 函式 (帶有文件的文字) 做為第一個引數,而且以 HTTP 反應狀態碼做為第二個引數。如果要求逾時,則可能會改為呼叫 onload 函式,而不是第一個引數為 Null,而第二個引數為 -1。此函式預設為傳送 HTTP GET 要求。要改為傳送 HTTP POST 要求,請在選用的 postBody 引數中傳送資料。如果傳送的資料類型不是「application/x-www-form-urlencoded」,請在 postContentType 引數中以字串傳送內容類型。此方法受到跨網站指令碼的限制。請注意,此方法使用瀏覽器底層的 XmlHttpRequest 實作。

function GBrowserIsCompatible

此函式決定地圖 API 是否可以用在目前的瀏覽器。

函式

方法 傳回值 說明
GBrowserIsCompatible() Boolean 如果目前的瀏覽器支援地圖 API 程式庫,則傳回 true

function GUnload

您可以呼叫此函式,讓地圖 API 清除內部資料結構,以釋放記憶體。這可以協助您處理各種瀏覽器因為網路應用程式記憶體流失所產生的錯誤。您應該在網頁的 unload 事件處理常式中呼叫此函式。呼叫此函式之後,您在此網頁中建立的地圖物件就會失去功能。

函式

方法 傳回值 說明
GUnload() None 拆解所有已註冊的事件處理常式以防止記憶體流失。呼叫以作為 unload 事件的處理常式。

class GDirections

此類別用來取得行車導航結果,並將它們顯示在地圖和/或文字面板。

建構函式

建構函式 說明
GDirections(map?:GMap2, panel?:Element) 為新的導航物件建立實例,以要求並儲存導航結果。然後,此導航物件可以使用 GDirections.load() 方法來查詢,建立導航。

建構函式接受選用的地圖物件 (以顯示已計算導航的折線) 和/或面板 DIV 元素 (以顯示文字導航結果)。

如果傳送 map 引數,不論何時計算出導航結果,與結果相關聯的折線和標記都會自動以疊加層方式新增至地圖。同樣地,當傳送 panel 引數時,與結果相關的文字導航會加入指出的 DIV,取代 DIV 中任何現有的內容。

如果任何這些引數為 Null,則不會抓取相關的元素,除非在 GDirections.load() 方法中明確要求。(請參閱以下資訊。)

此外,物件包含三個您可以攔截的事件接聽程式:

  • load:如果導航查詢的結果透過 GDirections.load() 發出可以使用,就會觸發此事件。請注意,load() 方法會初始化新查詢,一旦查詢結束載入,它會接著觸發「load」事件。在任何疊加層元素新增至地圖/面板之前,會觸發「load」事件。
  • addoverlay:折線和/或文字導航元件新增至地圖和/或 DIV 元素之後,會觸發此事件。請注意,如果這三個元素中沒有任何一個元素附加至 GDirections 物件,則不會觸發「addoverlay」事件。
  • error:如果導航要求導致錯誤,則會觸發此事件。呼叫者可以使用 GDirections.getStatus() 來取得關於錯誤的詳細資訊。發生「error」事件時,不會觸發「load」或「addoverlay」事件。

(從 2.81 開始)

方法

方法 傳回值 說明
load(query:String, queryOpts?:GDirectionsOptions) None 此方法會發出新的導航查詢。query 參數是包含任何有效導航查詢的字串,例如「from: Seattle to: San Francisco」或「from: Toronto to: Ottawa to: New York」。按照預設,如果在建構 GDirections 物件的期間指定地圖,則查詢將會要求折線結果。同樣地,如果指定文字面板,查詢將會要求詳細的文字結果。否則,結果只會包含關於找到路線的摘要資訊。

為了覆寫此行為 (例如沒有任何地圖附加至此物件時,仍然要求折線資訊),呼叫者可以使用 queryOpts 選用的參數。請參閱 GDirectionsOptions 的使用說明以取得詳細資料。

接收到導航結果時,此物件會清除舊的結果,以新的結果取代,並以新的結果更新地圖和/或面板。導航結果是由多個路線 (類型 GRoute 的物件) 所組成,查詢中指定的每個路點/地址連續組都會各有一個。因此,路線是由多個步驟 (類型 GStep 的物件) 所組成。

如果之前的 load() 要求沒有完成,當收用新的 load() 呼叫時,會取消之前的要求。所以,您可以使用單一 GDirections 物件系列連續發出導航要求,但是如果想要以平行方式產生多個要求,就必須使用多個 GDirections 物件。

(從 2.81 開始)

loadFromWaypoints(waypoints:Array, queryOpts?:GDirectionsOptions) None 使用路點的陣列做為輸入 (而不要使用單一查詢字串),發出新導航查詢。此陣列最多可以包含 25 個檢視區項目。陣列中的每個項目是字串,分別代表輸入的地址或緯度、經度點。請參閱 GDirections.load() 以取得此方法之行為的詳細資料。

(從 2.81 開始)

clear() None 清除任何現有的導航結果,移除地圖和面板的疊加層,並取消任何擱置的 load() 要求。

(從 2.81 開始)

getStatus() Object 傳回導航要求的狀態。傳回的物件格式如下:{
{
  code: 200
  request: "directions"
}
狀態碼接受 GGeoStatusCode 定義的任何值。

(從 2.81 開始)

getBounds() GLatLngBounds 此方法是用來取得此導航查詢結果的界限方塊。傳回 GLatLngBounds 物件或 Null (在沒有可用的成功結果的情形下)。

(從 2.81 開始)

getNumRoutes() Number 傳回結果中可用的路線數量。如果查詢成功,這個數字應該會等於輸入總路點數減 1。沒有可用的結果時 (因為沒有發出查詢,或因為之前的查詢不成功),此方法會傳回 0。

(從 2.81 開始)

getRoute(i:Number) GRoute 在回應中為「第 i 個」路線傳回 GRoute 物件。

(從 2.81 開始)

getNumGeocodes() Number 傳回結果中可用的地理編碼項目數量。如果查詢成功,這個數字應該會等於輸入總路點數。沒有可用的結果時 (因為沒有發出查詢,或因為之前的查詢不成功),此方法會傳回 0。

(從 2.81 開始)

getGeocode(i:Number) Object 為「第 i 個」路點傳回地理編碼結果。此物件的結構與來自 GClientGeocoder 物件回應中單一地標的結構相同。

(從 2.81 開始)

getCopyrightsHtml() String 傳回包含此結果版權資訊的 HTML 字串。

(從 2.81 開始)

getSummaryHtml() String 傳回包含這整個導航要求的距離和時間摘要的 HTML 片段。請注意,在建構時沒有與地圖或 DIV 元素相互關聯的情形下,此摘要是傳回給 GDirections 物件的唯一資訊。

(從 2.81 開始)

getDistance() Object 傳回代表導航要求 (橫跨所有路線) 之總距離的物件實字。該物件包含兩個欄位:一欄是「meters」(公尺),以數值指出距離 (以公尺為單位);另一欄則是「html」,使用導航啟始國家/地區慣用的單位,以經過本地化的字串指出導航的距離。

(從 2.81 開始)

getDuration() Object 傳回代表導航要求 (橫跨所有路線) 之總時間的物件實字。該物件包含兩個欄位:一欄是「seconds」(秒),以數值指出時間 (以秒為單位);另一欄則是「html」,以經過本地化的字串指出時間。

(從 2.81 開始)

getPolyline() GPolyline 傳回與完整導航回應相互關聯的 GPolyline 物件。請注意,在回應中是以單一折線代表所有路線。導航結果已經載入後 (也就是「載入」事件已經觸發),才會定義此物件。

(從 2.81 開始)

getMarker(i:Number) GMarker 傳回與第 i 個地理編碼關聯的標記。導航結果已經載入後 (也就是「載入」事件已經觸發),此方法才會傳回非 Null 值。

(從 2.81 開始)

class GDirectionsOptions

此方法代表 GDirections.load()GDirections.loadFromWaypoints() 方法的選用引數。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
locale String 此地區設定會供導航結果使用。例如「en_US」、「fr」、「fr_CA」等等。
travelMode GTravelModes 交通的模式,例如開車 (預設) 或步行。

(從 2.129 開始)

avoidHighways Boolean 如果 true,在計算導航時,會嘗試排除公路。請注意,如果沒有其他可用的替代方式,導航仍可能包括公路。

(從 2.124 開始)

getPolyline Boolean 根據預設,GDirections.load*() 方法只有在地圖附加至 GDirections 物件時才會擷取折線資料。此欄位可以用來覆寫此行為,並擷取折線資料 (即使地圖沒有附加至 Directions 物件。
getSteps Boolean 根據預設,GDirections.load*() 方法只有在面板附加至 GDirections 物件時才會擷取步驟資料。此欄位可以用來覆寫此行為,並擷取步驟資料 (即使面板沒有附加至 Directions 物件。
preserveViewport Boolean 根據預設,如果 Directions 物件有地圖,地圖會置中並且縮放為導航結果的界限方塊。此選項設定為 true 時,檢視區會保留給此要求 (除非一開始就沒有設定)。

enum GTravelModes

常數

常數 說明
G_TRAVEL_MODE_WALKING 步行

(從 2.129 開始)

G_TRAVEL_MODE_DRIVING 開車

(從 2.129 開始)

class GRoute

此類別的物件是由 GDirections 物件所建立,以便在導航結果中儲存關於單一路線的資訊。此類別沒有公開建構函式。用戶端不應直接建立此類別的物件。

方法

方法 傳回值 說明
getNumSteps() Number 傳回此路線的步驟數量。

(從 2.81 開始)

getStep(i:Number) GStep 傳回此路線中第 i 個步驟的 GStep 物件。

(從 2.81 開始)

getStartGeocode() Object 傳回此路線起點的地理編碼結果。此物件的結構與來自 GClientGeocoder 物件回應中單一地標的結構相同。

(從 2.83 開始)

getEndGeocode() Object 傳回此路線終點的地理編碼結果。此物件的結構與來自 GClientGeocoder 物件回應中單一地標的結構相同。

(從 2.83 開始)

getEndLatLng() GLatLng 傳回此路線折線上最後一點的 GLatLng 物件。請注意,此點可能與 GRoute.getEndGeocode() 中的 lat,lng 不同,因為 getEndLatLng() 永遠會傳回道路網路上的點。沒有對應的 getStartLatLng() 方法,因為與呼叫 GRoute.getStep(0).getLatLng() 完全相同。

(從 2.81 開始)

getSummaryHtml() String 傳回包含這個路線的距離和時間摘要的 HTML 片段。

(從 2.81 開始)

getDistance() Object 傳回代表此路線之總距離的物件實字。請參閱 GDirections.getDistance() 以取得此物件的結構。

(從 2.81 開始)

getDuration() Object 傳回代表此路線之總時間的物件實字。請參閱 GDirections.getDuration() 以取得此物件的結構。

(從 2.81 開始)

class GStep

此類別的物件是由 GDirections 物件所建立,可以儲存導航結果中某路線其中一個步驟的資訊。此類別沒有公開建構函式。用戶端不應直接建立此類別的物件。

方法

方法 傳回值 說明
getLatLng() GLatLng 傳回此步驟折線上第一點的 GLatLng 物件。

(從 2.81 開始)

getPolylineIndex() Number 傳回此步驟折線上第一點的索引。

(從 2.81 開始)

getDescriptionHtml() String 傳回包含此步驟描述的 HTML 字串。

(從 2.81 開始)

getDistance() Object 傳回代表此步驟之總距離的物件實字。請參閱 GDirections.getDistance() 以取得此物件的結構。

(從 2.81 開始)

getDuration() Object 傳回代表此步驟之總時間的物件實字。請參閱 GDirections.getDuration() 以取得此物件的結構。

(從 2.81 開始)

class GTrafficOverlay

GTrafficOverlay 物件將疊加層加入顯示道路交通資訊的地圖。它實作 GOverlay 介面,因此會使用 GMap2.addOverlay() 方法新增至地圖,並使用 GMap2.removeOverlay() 方法移除。GTrafficOverlay 只會顯示支援城市的交通資訊。

建構函式

建構函式 說明
GTrafficOverlay(opts?:GTrafficOverlayOptions) 建立顯示道路交通資訊的新 GTrafficOverlay 物件。

(從 2.81 開始)

方法

方法 傳回值 說明
hide() None 隱藏交通疊加層。

(從 2.81 開始)

show() None 顯示交通疊加層。

(從 2.81 開始)

事件

Event 說明
changed(hasTrafficInView:Boolean) 在目前的檢視區中變更交通資料的狀態時,會引發此事件。如果將地圖在內含或不含交通資料的區域之間移動,或者將 GTrafficOverlay 加入地圖,使得目前的檢視區顯示交通資料,就可能會引發此事件。如果檢視區包含交通資料,則 hasTrafficInView 參數將為 true;否則為 false。不論該圖層為隱藏或顯示,此事件都會運作。

(從 2.85 開始)

class GTrafficOverlayOptions

此類別代表 GTrafficOverlay 建構函式的選用引數。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
incidents Boolean 如果是 true,表示 GTrafficOverlay 應在地圖上顯示交通事故 (如果有)。此值會預設為 false

(從 2.121 開始)

hide Boolean 如果是 true,表示地圖初始化時不會顯示 GTrafficOverlay。要開啟疊加層,請呼叫 GTrafficOverlay.show()。此值會預設為 false

(從 2.121 開始)

class GAdsManager

GAdsManager 物件會擷取 AdSense 廣告並顯示在指定的地圖上。廣告顯示為 GMarker,而且按一下可以在標記的資訊視窗中顯示廣告。GAdsManager 會根據目前的檢視區和網頁周圍的文字內容來選取 AdSense 廣告。請注意,將 GAdsManager 加入地圖時,您也必須使用 enable() 方法特別將它啟用。

建構函式

建構函式 說明
GAdsManager(map:GMap2, publisherId:String, adsManagerOptions?:GAdsManagerOptions) 建立新的 GAdsManager 物件,從 Google 伺服器要求 AdSense 廣告。map 參數會找出此 GAdsManager 要顯示廣告的地圖。publisherId 參數會指定開發人員的 AdSense 帳戶。adsManagerOptions 參數是 GAdsManagerOptions 物件實字。

(從 2.85 開始)

方法

方法 傳回值 說明
enable() None 啟用擷取廣告。預設不會擷取廣告。

(從 2.85 開始)

disable() None 停用擷取廣告。

(從 2.85 開始)

class GAdsManagerOptions

此類別將選用的引數儲存至 GAdsManager 建構函式。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
maxAdsOnMap Number 任何時候在地圖上顯示廣告的數量上限。預設值為 3。

(從 2.85 開始)

channel Number 用來擷取廣告的 AdSense 頻道數量。頻道是選用的功能,AdSense 發佈者可以用來追蹤來自多個來源的廣告收益。

(從 2.85 開始)

minZoomLevel Number 顯示廣告的最小縮放等級。預設值為 6。

(從 2.85 開始)

class GStreetviewPanorama

GStreetviewPanorama 物件會容納 Flash® Street View Panorama 檢視器的實例。此類別的每個物件都可以容納個別的實例,以顯示獨特的檢視。此物件一般會內嵌在容器物件 (例如 DIV),而且可以使用此類別的方法的操縱來變更其檢視。並非所有位置都可以使用街景資料。使用 GStreetviewClient 物件或 GStreetviewOverlay 物件來判斷您的位置是否可以使用街景資料。

建構函式

建構函式 說明
GStreetviewPanorama(container:Node, opts?:GStreetviewPanoramaOptions) 在提供的容器中以對應的 Flash 檢視器建立新的 GStreetviewPanorama 物件。指定位置後才會顯示檢視器,可能是在選用的 GStreetviewPanoramaOptions opts 物件中或藉由呼叫 setLocationAndPOV

(從 2.104 開始)

方法

方法 傳回值 說明
remove() None 移除目前在 DOM 中與此物件相互關聯之 Flash 檢視器的實例。移除 HTML 容器元素之前,必須呼叫此函式,否則某些瀏覽器無法對 Flash 檢視器進行廢棄項目收集。

(從 2.104 開始)

setContainer(container:Node) None 設定 Flash 檢視器的容器元素,從其舊的位置移動檢視器 (在開啟的情形下)。

(從 2.104 開始)

checkResize() None 通知 Flash 檢視器關於其容器的大小變更。在容器 DOM 物件變更大小後呼叫此方法,可讓檢視器本身調整大小以符合新的容器大小。

(從 2.104 開始)

hide() None 隱藏 Flash 檢視器。要移除檢視器,請改為呼叫 .remove()。

(從 2.104 開始)

show() None 顯示 Flash 檢視器。

(從 2.104 開始)

isHidden() boolean 如果與此物件相關的 Flash 檢視器為隱藏,則傳回 true;否則傳回 false

(從 2.104 開始)

getPOV() GPov 傳回 Flash 檢視器中目前顯示的檢視點 (POV)。

(從 2.104 開始)

setPOV(pov:GPov) None 傳回 Flash 檢視器中目前顯示的檢視點 (POV),而不需變更位置。

(從 2.104 開始)

panTo(pov:GPov, opt_longRoute:Boolean) None 傳回 Flash 檢視器中目前顯示的檢視點 (POV),而不需變更位置。從目前的 POV 到新的 POV 執行平滑動畫。如果已設定 opt_longRoute,則動畫會沿著地球的長路線,否則會沿著最短路線。

(從 2.104 開始)

setLocationAndPOV(latlng:GLatLng, opt_pov:GPov) None 設定 Flash 檢視器的位置和 POV。呼叫此函式之後,檢視器將會顯示到所提供 latlng 的最近位置 (如果有的話)。如果此位置沒有可用的資料,則 Flash 播放程式會保留不變,並發出錯誤代碼。請參閱 GStreetviewClient.ReturnValues 以取得可能的回應代碼。

(從 2.104 開始)

事件

Event 說明
yawchanged(yaw:Number) Flash 檢視器中顯示的偏角變更時,會引發此事件。

(從 2.104 開始)

pitchchanged(pitch:Number) Flash 檢視器中顯示的偏角變更時,會引發此事件。

(從 2.104 開始)

zoomchanged(zoom:Number) Flash 檢視器的縮放等級變更時,會引發此事件。

(從 2.104 開始)

error(errorCode:GStreetviewPanorama.ErrorValues) 發生錯誤時會引發此事件。請參閱 GStreetviewPanorama.ErrorValues 以取得錯誤類型的清單。

(從 2.104 開始)

initialized(location:GStreetviewLocation) 移至新位置後,初始化全景時,會引發此事件。位置是 GStreetviewLocation 物件。注意:第一次呈現全景時,不會傳送 initialized 事件;我們已經知道這項問題,即將於後續版本加以修正。

(從 2.104 開始)

class GStreetviewPanoramaOptions

此類別代表傳送給 GStreetviewPanorama 建構函式的選項。此類別沒有建構函式,但是會具現化為物件實字。所有 Property 皆為選用的

Property

Property 類型 說明
latlng GLatLng 開啟 Flash 檢視器的 latlng。

(從 2.104 開始)

pov GPov 開啟 Flash 檢視器的相機方向。

(從 2.104 開始)

class GStreetviewOverlay

GStreetviewOverlay 物件是地圖方塊集,特別點出具備街景資料的位置。此類別實作 GOverlay 介面,而且可以使用 map.addOverlay 新增至地圖,並使用 map.removeOverlay 從地圖上移除。

建構函式

建構函式 說明
GStreetviewOverlay() 建立新的 GStreetviewOverlay,它會實作 GOverlay 介面。

(從 2.104 開始)

事件

Event 說明
changed(hasStreetviewData:Boolean) 在目前的檢視區中變更街景資料的狀態時,會引發此事件。將地圖從具有街景資料的區域移至沒有街景資料的區域時,會引發此事件;反之亦然。此外,將 GStreetviewOverlay 新增至地圖時、使得檢視區顯示街景資料時,也會引發此事件。如果檢視區包含街景資料,則 hasStreetviewData 參數將為 true;否則為 false

(從 2.120 開始)

class GStreetviewClient

GStreetviewClient 物件會根據傳送至其方法的參數,來搜尋街景資料。

建構函式

建構函式 說明
GStreetviewClient() 建立新的 GStreetviewClient

(從 2.104 開始)

方法

方法 傳回值 說明
getNearestPanoramaLatLng(latlng:GLatLng, callback:Function(GLatLng)) None 找出距離指定點最接近全景的 GLatLng,將它傳給提供的回呼。如果附近沒有全景,或是如果伺服器發生錯誤,則提供的回呼會改為傳送 Null。

(從 2.104 開始)

getNearestPanorama(latlng:GLatLng, callback:Function(GStreetviewData)) None 抓取距離指定 latlng 最接近全景的資料,並以 GStreetviewData 物件將它傳給提供的回呼。

(從 2.104 開始)

getPanoramaById(panoId:string, callback:Function(GStreetviewData)) None 抓取指定全景 id 的資料,並以 GStreetviewData 物件將它傳給提供的回呼。每個全景的 Id 是唯一的,而且對單一網路連線留存期而言是穩定的,但是跨網路連線則可能改變。

(從 2.104 開始)

enum GStreetviewClient.ReturnValues

每個符號常數的對等數字會在括弧中指定。

常數

常數 說明
SUCCESS
= 200
成功

(從 2.104 開始)

SERVER_ERROR
= 500
伺服器不回應查詢。

(從 2.104 開始)

NO_NEARBY_PANO
= 600
找不到全景資料。

(從 2.104 開始)

class GStreetviewData

此類別代表與全景相關的資料。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
location GStreetviewLocation 位置資料。

(從 2.104 開始)

copyright String 本地化的版權訊息。

(從 2.104 開始)

code GStreetviewClient.ReturnValues 狀態碼。請參閱 GStreetviewClient.ReturnValues.

(從 2.104 開始)

class GStreetviewLocation

此類別代表街景位置。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
latlng GLatLng 全景的 latlng。

(從 2.104 開始)

pov GPov 檢視的初始點。

(從 2.104 開始)

description String 描述位置的本地化字串。

(從 2.104 開始)

panoId String 全景的唯一識別碼。這在同一網路連線中是一致的,但是跨網路連線則不保證一致。

(從 2.104 開始)

此類別代表從一個 GStreetviewLocation 到附近 GStreetviewLocation 的連結。它沒有建構函式,但是具現化為物件實字。

Property

Property 類型 說明
yaw Number 從目前位置到附近位置的偏角。

(從 2.104 開始)

description String 描述附近位置的本地化字串。

(從 2.104 開始)

panoId String 附近全景的唯一識別碼。這在同一網路連線中是一致的,但是跨網路連線則不保證一致。

(從 2.104 開始)

class GPov

此類別代表街景使用的攝影機視角結構。它沒有建構函式,但是具現化為物件實字。所有 Property 皆為選用的

Property

Property 類型 說明
yaw Number 相對於正北的相機偏角 (以度為單位)。正北為 0 度、東為 90 度、南為 180 度,而西為 270 度。

(從 2.104 開始)

pitch Number 相對於街景車的相機偏角 (以度為單位)。範圍從 90 度 (正上方) 到 -90 度 (正下方)。

(從 2.104 開始)

zoom Number 縮放等級。縮到最小為等級 0,數字越大、縮放等級愈大。

(從 2.104 開始)

enum GStreetviewPanorama.ErrorValues

每個符號常數的對等數字會在括弧中指定。

常數

常數 說明
NO_NEARBY_PANO
= 600
找不到全景資料。

(從 2.104 開始)

FLASH_UNAVAILABLE
= 603
無法使用 Flash 檢視器,通常是因為使用者的瀏覽器不支援 Flash 所致。

(從 2.104 開始)