Data

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

資料類別

google.maps.Data 類別

顯示地理空間資料的圖層。可顯示點、線條字串和多邊形。

根據預設,每個 Map 都有 Data 物件,因此大多數情況下都不需要建構物件。例如:

 var myMap = new google.maps.Map(...);
myMap.data.addGeoJson(...);
myMap.data.setStyle(...);
Data 物件是 Features 的集合。

這個類別會擴充 MVCObject

Data
Data([options])
參數:
使用指定的 DataOptions 建立空白集合。
add
add([feature])
參數:
傳回值:Data.Feature
新增特徵至集合,並傳回新增的功能。

如果功能有 ID,系統會以集合中的 ID 取代集合中所有現有的功能。如未提供特徵,將以空值幾何圖形建立特徵,且沒有屬性。如果指定了 FeatureOptions,系統會使用指定屬性建立新功能。

請注意,1234'1234' 相同。ID 為 1234 的功能將取代 ID 為 '1234' 的功能,反之亦然。

addGeoJson
addGeoJson(geoJson[, options])
參數:
傳回值:Array<Data.Feature>
將 GeoJSON 功能新增至集合。為這個方法提供剖析的 JSON。會傳回匯入的功能。如果無法匯入 GeoJSON,則擲回例外狀況。
contains
contains(feature)
參數:
傳回值:boolean
檢查指定功能是否位於集合中。
forEach
forEach(callback)
參數:
傳回值:
重複叫用指定函式,並在每次叫用時將集合中的功能傳送至函式。透過這些功能的疊代順序並未定義。
getControlPosition
getControlPosition()
參數:
傳回值:ControlPosition
傳回地圖上繪圖控制項的位置。
getControls
getControls()
參數:
傳回值:Array<string>
傳回使用者可以選擇的繪圖模式,並按照顯示順序排列。系統預設不會新增 null 繪圖模式。可能的繪圖模式包括 "Point""LineString""Polygon"
getDrawingMode
getDrawingMode()
參數:
傳回值:string|null
傳回指定資料層的目前繪圖模式。null 的繪圖模式代表使用者能夠正常與地圖互動,且點擊不會繪製任何內容。可能的繪圖模式包括 null"Point""LineString""Polygon"
getFeatureById
getFeatureById(id)
參數:
  • idnumber|string
傳回值:Data.Feature|undefined
如果集合中包含該 ID,則傳回該功能。如果沒有,系統會傳回 undefined

請注意,1234'1234' 相同。兩者都可以用來查詢相同功能。

getMap
getMap()
參數:
傳回值:Map
傳回顯示地圖項目的地圖。
getStyle
getStyle()
參數:
取得集合中所有地圖項目的樣式。
loadGeoJson
loadGeoJson(url[, options, callback])
參數:
傳回值:
從網址載入 GeoJSON,然後將功能新增至集合。

注意:GeoJSON 是以 XHR 擷取,可能無法用於跨網域。如有任何問題,建議您使用您選擇的 AJAX 程式庫擷取 GeoJSON,然後呼叫 addGeoJson()

overrideStyle
overrideStyle(feature, style)
參數:
傳回值:
變更地圖項目的樣式。這些變更會套用到 setStyle() 指定的樣式。樣式屬性設為 null,會還原為透過 setStyle() 指定的值。
remove
remove(feature)
參數:
傳回值:
從集合中移除功能。
revertStyle
revertStyle([feature])
參數:
傳回值:
移除先前 overrideStyle() 呼叫的影響。指定地圖項目的樣式會還原成 setStyle() 指定的樣式。

如果未指定地圖項目,系統會還原所有地圖項目的樣式。

setControlPosition
setControlPosition(controlPosition)
參數:
傳回值:
設定地圖上的繪圖控制項位置。
setControls
setControls(controls)
參數:
  • controlsArray<string>
傳回值:
設定使用者可以選擇的繪圖模式,並按照顯示順序排列。其中不應包含預設新增的 null 繪圖模式。如果設為 null,系統會停用繪圖控制項,且不會顯示控制項。可能的繪圖模式包括 "Point""LineString""Polygon"
setDrawingMode
setDrawingMode(drawingMode)
參數:
  • drawingModestring optional
傳回值:
設定指定資料層的目前繪圖模式。null 的繪圖模式代表使用者能夠正常與地圖互動,且點擊不會繪製任何內容。可能的繪圖模式包括 null"Point""LineString""Polygon"
setMap
setMap(map)
參數:
傳回值:
在指定的地圖上呈現地圖項目。如果將地圖設為 null,地圖項目就會從地圖中移除。
setStyle
setStyle(style)
傳回值:
設定集合中所有地圖項目的樣式。透過 overrideStyle() 針對個別地圖項目指定的樣式會繼續套用。

傳送包含所需樣式選項的物件,或是計算每個地圖項目樣式的函式。每當更新特徵屬性時,系統就會呼叫該函式。

toGeoJson
toGeoJson(callback)
參數:
  • callbackfunction(Object): void
傳回值:
將集合中的功能匯出至 GeoJSON 物件。
已沿用: addListenerbindTogetnotifysetsetValuesunbindunbindAll
addfeature
function(event)
引數:
將特徵加到集合時,會觸發這個事件。
click
function(event)
引數:
點擊幾何圖形時就會觸發此事件。
contextmenu
function(event)
引數:
遭到幾何圖形觸發的 DOM 內容選單事件時,會觸發此事件。
dblclick
function(event)
引數:
按兩下幾何圖形時就會觸發此事件。
mousedown
function(event)
引數:
幾何圖形上的滑鼠懸停時觸發此事件。
mouseout
function(event)
引數:
滑鼠離開幾何圖形的區域時,會觸發此事件。
mouseover
function(event)
引數:
滑鼠進入幾何圖形的區域時,會觸發此事件。
mouseup
function(event)
引數:
幾何圖形上的滑鼠懸停事件會觸發。
removefeature
function(event)
引數:
從集合中移除功能時,會觸發此事件。
removeproperty
function(event)
引數:
移除特徵屬性時,會觸發此事件。
setgeometry
function(event)
引數:
設定特徵的幾何圖形時,會觸發此事件。
setproperty
function(event)
引數:
如果已設定特徵和屬性,則觸發此事件。
rightclick
function(event)
引數:
對幾何圖形按一下滑鼠右鍵時,就會觸發此事件。

Data.DataOptions 介面

google.maps.Data.DataOptions 介面介面

DataOptions 物件,用來定義開發人員可在 Data 物件上設定的屬性。

map
類型:Map
顯示集合中的地圖項目的地圖。
controlPosition optional
類型:ControlPosition optional
地圖上繪圖控制項的位置。
controls optional
類型:Array<string> optional
預設:null
說明使用者可以按何種顯示模式選取顯示模式。其中不應包含預設新增的 null 繪圖模式。如果設為 null,系統會停用繪圖控制項,且不會顯示控制項。可能的繪圖模式包括 "Point""LineString""Polygon"
drawingMode optional
類型:string optional
預設:null
特定資料層的目前繪圖模式。null 的繪圖模式代表使用者能夠正常與地圖互動,且點擊不會繪製任何內容。可能的繪圖模式包括 null"Point""LineString""Polygon"
featureFactory optional
類型:function(Data.Geometry): Data.Feature optional
如果啟用繪圖功能,且使用者繪製了幾何圖形 (點、線字串或多邊形),系統就會以該幾何圖形呼叫這個函式,並應傳回要新增至資料層的特徵。如未提供 featureFactory,系統將從該幾何圖形建立沒有 ID 和屬性的地圖項目。預設值為 null
style optional
集合中所有地圖項目的樣式。詳情請參閱上方的 setStyle() 方法。

Data.GeoJsonOptions 介面

google.maps.Data.GeoJsonOptions 介面介面

用於匯入 GeoJSON 的選用參數。

idPropertyName optional
類型:string optional
做為特徵 ID 的特徵屬性名稱。如未指定,系統會使用 GeoJSON 特徵 ID。

Data.StyleOptions 介面

google.maps.Data.StyleOptions 介面介面

這些選項指定地圖項目在地圖上顯示的方式。

animation optional
類型:Animation optional
在地圖中加入標記時播放的動畫。僅適用於點幾何圖形。
clickable optional
類型:boolean optional
預設:true
如果為 true,標記會接收滑鼠和觸控事件。
cursor optional
類型:string optional
滑鼠遊標懸停在遊標懸停時顯示遊標。僅適用於點幾何圖形。
draggable optional
類型:boolean optional
預設:false
如果為 true,物件可在地圖上拖曳,而基礎地圖項目會更新其幾何圖形。
editable optional
類型:boolean optional
預設:false
如果為 true,則可以拖曳控制點來編輯物件,其基本功能會更新其幾何圖形。僅適用於 LineString 和多邊形幾何圖形。
fillColor optional
類型:string optional
填色。系統支援所有 CSS3 色彩 (延伸的具名色彩除外)。僅適用於多邊形幾何圖形。
fillOpacity optional
類型:number optional
填滿透明度介於 0.0 和 1.0 之間。僅適用於多邊形幾何圖形。
icon optional
類型:string|Icon|Symbol optional
前景的圖示。如果提供字串,系統會將其視為 Icon 字串,且字串為 url。僅適用於點幾何圖形。
icons optional
類型:Array<IconSequence> optional
以折線表示的圖示。僅適用於線條幾何圖形。
label optional
類型:string|MarkerLabel optional
為標記加上標籤。標籤可以是字串或 MarkerLabel 物件。僅適用於點幾何圖形。
opacity optional
類型:number optional
標記的不透明度介於 0.0 和 1.0 之間。僅適用於點幾何圖形。
shape optional
類型:MarkerShape optional
用於定義命中偵測的圖片對應。僅適用於點幾何圖形。
strokeColor optional
類型:string optional
筆觸色彩。系統支援所有 CSS3 色彩 (延伸的具名色彩除外)。僅適用於線條和多邊形幾何圖形。
strokeOpacity optional
類型:number optional
筆觸透明度介於 0.0 和 1.0 之間。僅適用於線條和多邊形幾何圖形。
strokeWeight optional
類型:number optional
筆劃寬度 (以像素為單位)僅適用於線條和多邊形幾何圖形。
title optional
類型:string optional
滑鼠遊標懸停的文字。僅適用於點幾何圖形。
visible optional
類型:boolean optional
預設:true
是否顯示功能。
zIndex optional
類型:number optional
所有地圖項目都會以 ZIndex 的順序顯示在地圖上,較高的值則會優先顯示在較低的值前方。標記一律顯示在行字串和多邊形的前方。

Data.StylingFunction typedef

google.maps.Data.StylingFunction typedef

計算特徵外觀的函式。

Data.setStyle() 方法可接受樣式函式。當你根據不同屬性的屬性顯示不同內容時,請使用這個方法。如要進一步瞭解樣式功能,請參閱開發人員指南

function(Data.Feature): Data.StyleOptions

Data.Feature 類別

google.maps.Data.Feature 類別

地圖項目都有幾何圖形、ID 和一組屬性。

Data.Feature
Data.Feature([options])
參數:
使用指定選項建構功能。
forEachProperty
forEachProperty(callback)
參數:
  • callbackfunction(*, string): void
傳回值:
重複叫用指定函式,並在每次叫用時傳送屬性值和名稱。透過屬性進行疊代的順序未定義。
getGeometry
getGeometry()
參數:
傳回值:Data.Geometry
傳回地圖項目的幾何圖形。
getId
getId()
參數:
傳回值:number|string|undefined
傳回功能 ID。
getProperty
getProperty(name)
參數:
  • namestring
傳回值:*
傳回所請求屬性的值,如果沒有屬性,則傳回 undefined
removeProperty
removeProperty(name)
參數:
  • namestring
傳回值:
移除具有指定名稱的屬性。
setGeometry
setGeometry(newGeometry)
參數:
傳回值:
設定地圖項目的幾何圖形。
setProperty
setProperty(name, newValue)
參數:
  • namestring
  • newValue*
傳回值:
設定指定屬性的值。如果 newValueundefined,這相當於呼叫 removeProperty
toGeoJson
toGeoJson(callback)
參數:
  • callbackfunction(Object): void
傳回值:
將功能匯出至 GeoJSON 物件。
removeproperty
function(event)
引數:
移除特徵屬性時,就會觸發這個事件。
setgeometry
function(event)
引數:
設定特徵的幾何圖形時,就會觸發這個事件。
setproperty
function(event)
引數:
設定特徵後,就會觸發此事件。

Data.FeatureOptions 介面

google.maps.Data.FeatureOptions 介面介面

用於建立 Data.Feature 物件的選用參數。

geometry optional
特徵幾何圖形。如果在建構地圖項目時未指定任何特徵,該地圖項目的幾何圖形就是 null。如果指定 LatLng 物件或 LatLngLiteral,系統會將這個值轉換成 Data.Point 幾何圖形。
id optional
類型:number|string optional
特徵 ID 為選填項目。如果提供,則可以使用 getFeatureById() 方法查詢 Data 物件的功能。請注意,功能 ID 後即無法變更。
properties optional
類型:Object optional
功能屬性。這是屬性名稱與值之間的任意對應。

Data.Geometry 介面

google.maps.Data.Geometry 介面介面

各種幾何圖形物件的父類別。

forEachLatLng
forEachLatLng(callback)
參數:
  • callbackfunction(LatLng): void
傳回值:
重複叫用指定函式,並在每次叫用時將幾何圖形中的函式傳遞至函式。
getType
getType()
參數:
傳回值:string
傳回幾何圖形物件的類型。可能性為 "Point""MultiPoint""LineString""MultiLineString""LinearRing""Polygon""MultiPolygon""GeometryCollection"

Data.Point 類別

google.maps.Data.Point 類別

點幾何圖形含有單一 LatLng

這個類別會實作 Data.Geometry

Data.Point
Data.Point(latLng)
參數:
從指定的 LatLngLatLngLiteral 建構 Data.Point
forEachLatLng
forEachLatLng(callback)
參數:
  • callbackfunction(LatLng): void
傳回值:
get
get()
參數:
傳回值:LatLng
傳回包含的 LatLng
getType
getType()
參數:
傳回值:string
傳回 "Point" 字串。

Data.MultiPoint 類別

google.maps.Data.MultiPoint 類別

多點幾何圖形包含多個 LatLng

這個類別會實作 Data.Geometry

Data.MultiPoint
Data.MultiPoint(elements)
參數:
從指定的 LatLngLatLngLiteral 建構 Data.MultiPoint
forEachLatLng
forEachLatLng(callback)
參數:
  • callbackfunction(LatLng): void
傳回值:
getArray
getArray()
參數:
傳回值:Array<LatLng>
傳回包含 LatLng 的陣列。每次呼叫 getArray() 時,都會傳回新的陣列。
getAt
getAt(n)
參數:
  • nnumber
傳回值:LatLng
傳回包含 LatLng 的第 n 個。
getLength
getLength()
參數:
傳回值:number
傳回包含的 LatLng 數量。
getType
getType()
參數:
傳回值:string
傳回 "MultiPoint" 字串。

Data.LineString 類別

google.maps.Data.LineString 類別

LineString 幾何圖形包含多個 LatLng

這個類別會實作 Data.Geometry

Data.LineString
Data.LineString(elements)
參數:
從指定的 LatLngLatLngLiteral 建構 Data.LineString
forEachLatLng
forEachLatLng(callback)
參數:
  • callbackfunction(LatLng): void
傳回值:
getArray
getArray()
參數:
傳回值:Array<LatLng>
傳回包含 LatLngs 的陣列。每次呼叫 getArray() 時,都會傳回新的陣列。
getAt
getAt(n)
參數:
  • nnumber
傳回值:LatLng
傳回包含 LatLng 的第 n 個。
getLength
getLength()
參數:
傳回值:number
傳回包含的 LatLng 數量。
getType
getType()
參數:
傳回值:string
傳回 "LineString" 字串。

Data.MultiLineString 類別

google.maps.Data.MultiLineString 類別

MultiLineString 幾何圖形包含多個 LineString

這個類別會實作 Data.Geometry

Data.MultiLineString
Data.MultiLineString(elements)
從指定的 Data.LineString 或位置陣列建構 Data.MultiLineString
forEachLatLng
forEachLatLng(callback)
參數:
  • callbackfunction(LatLng): void
傳回值:
getArray
getArray()
參數:
傳回值:Array<Data.LineString>
傳回包含 Data.LineString 的陣列。每次呼叫 getArray() 時,都會傳回新的陣列。
getAt
getAt(n)
參數:
  • nnumber
傳回值:Data.LineString
傳回包含 Data.LineString 的第 n 個。
getLength
getLength()
參數:
傳回值:number
傳回包含的 Data.LineString 數量。
getType
getType()
參數:
傳回值:string
傳回 "MultiLineString" 字串。

Data.LinearRing 類別

google.maps.Data.LinearRing 類別

LinearRing 幾何圖形包含多個 LatLng,代表已關閉的 LineString。第一個 LatLng 不必等於最後一個 LatLng。LinearRing 以隱含方式關閉。

這個類別會實作 Data.Geometry

Data.LinearRing
Data.LinearRing(elements)
參數:
從指定的 LatLngLatLngLiteral 建構 Data.LinearRing
forEachLatLng
forEachLatLng(callback)
參數:
  • callbackfunction(LatLng): void
傳回值:
getArray
getArray()
參數:
傳回值:Array<LatLng>
傳回包含 LatLng 的陣列。每次呼叫 getArray() 時,都會傳回新的陣列。
getAt
getAt(n)
參數:
  • nnumber
傳回值:LatLng
傳回包含 LatLng 的第 n 個。
getLength
getLength()
參數:
傳回值:number
傳回包含的 LatLng 數量。
getType
getType()
參數:
傳回值:string
傳回 "LinearRing" 字串。

Data.Polygon 類別

google.maps.Data.Polygon 類別

多邊形幾何圖形包含許多 Data.LinearRing。第一個線性圓環必須是多邊形外框,後續的線性環形必須是內部邊界,也稱為孔。請參閱含有孔的範例多邊形

這個類別會實作 Data.Geometry

Data.Polygon
Data.Polygon(elements)
從指定的 Data.LinearRing 或位置陣列建構 Data.Polygon
forEachLatLng
forEachLatLng(callback)
參數:
  • callbackfunction(LatLng): void
傳回值:
getArray
getArray()
參數:
傳回值:Array<Data.LinearRing>
傳回包含 Data.LinearRing 的陣列。每次呼叫 getArray() 時,都會傳回新的陣列。
getAt
getAt(n)
參數:
  • nnumber
傳回值:Data.LinearRing
傳回包含 Data.LinearRing 的第 n 個。
getLength
getLength()
參數:
傳回值:number
傳回包含的 Data.LinearRing 數量。
getType
getType()
參數:
傳回值:string
傳回 "Polygon" 字串。

Data.MultiPolygon 類別

google.maps.Data.MultiPolygon 類別

多多邊形幾何圖形包含多個 Data.Polygon

這個類別會實作 Data.Geometry

Data.MultiPolygon
Data.MultiPolygon(elements)
從指定的 Data.Polygon 或位置陣列建構 Data.MultiPolygon
forEachLatLng
forEachLatLng(callback)
參數:
  • callbackfunction(LatLng): void
傳回值:
getArray
getArray()
參數:
傳回值:Array<Data.Polygon>
傳回包含 Data.Polygon 的陣列。每次呼叫 getArray() 時,都會傳回新的陣列。
getAt
getAt(n)
參數:
  • nnumber
傳回值:Data.Polygon
傳回包含 Data.Polygon 的第 n 個。
getLength
getLength()
參數:
傳回值:number
傳回包含的 Data.Polygon 數量。
getType
getType()
參數:
傳回值:string
傳回 "MultiPolygon" 字串。

Data.GeometryCollection 類別

google.maps.Data.GeometryCollection 類別

GeometryCollection 包含數個幾何圖形物件。任何 LatLngLatLngLiteral 物件都會自動轉換為 Data.Point 幾何圖形物件。

這個類別會實作 Data.Geometry

Data.GeometryCollection
Data.GeometryCollection(elements)
參數:
從指定的幾何圖形物件或 LatLng 建構 Data.GeometryCollection
forEachLatLng
forEachLatLng(callback)
參數:
  • callbackfunction(LatLng): void
傳回值:
getArray
getArray()
參數:
傳回值:Array<Data.Geometry>
傳回包含的幾何圖形物件陣列。每次呼叫 getArray() 時,都會傳回新的陣列。
getAt
getAt(n)
參數:
  • nnumber
傳回值:Data.Geometry
傳回第 n 個包含的幾何圖形物件。
getLength
getLength()
參數:
傳回值:number
傳回包含的幾何圖形物件數量。
getType
getType()
參數:
傳回值:string
傳回 "GeometryCollection" 字串。

Data.MouseEvent 介面

google.maps.Data.MouseEvent 介面介面

這個物件會傳遞到 Data 物件的滑鼠事件處理常式。

此介面會擴充 MapMouseEvent

feature
類型:Data.Feature
產生滑鼠事件的功能。
繼承: domEventlatLng
已沿用: stop

Data.AddFeatureEvent 介面

google.maps.Data.AddFeatureEvent 介面介面

addfeature 事件的屬性。

feature
類型:Data.Feature
新增至 FeatureCollection 的功能。

Data.RemoveFeatureEvent 介面

google.maps.Data.RemoveFeatureEvent 介面介面

removefeature 事件的屬性。

feature
類型:Data.Feature
FeatureCollection 移除的功能。

Data.SetGeometryEvent 介面

google.maps.Data.SetGeometryEvent 介面介面

setgeometry 事件的屬性。

feature
類型:Data.Feature
幾何圖形內容的設定。
newGeometry optional
類型:Data.Geometry optional
新功能幾何圖形。
oldGeometry optional
類型:Data.Geometry optional
先前的特徵幾何圖形。

Data.SetPropertyEvent 介面

google.maps.Data.SetPropertyEvent 介面介面

setproperty 事件的屬性。

feature
類型:Data.Feature
已設定屬性的功能。
name
類型:string
屬性名稱。
newValue
類型:*
新值。
oldValue
類型:*
舊值。如果新增該屬性,則會顯示 undefined

Data.RemovePropertyEvent 介面

google.maps.Data.RemovePropertyEvent 介面介面

removeproperty 事件的屬性。

feature
類型:Data.Feature
已移除屬性的地圖項目。
name
類型:string
屬性名稱。
oldValue
類型:*
舊值。