Data-driven styling

FeatureLayer 接口

google.maps.FeatureLayer 接口

表示包含特定 FeatureType 地图项的地图图层的接口,其样式可在客户端替换或附加事件。

featureType
类型:  FeatureType
与此 FeatureLayer 关联的 FeatureType
isAvailable
类型:  boolean
FeatureLayer 是否可用,即此地图是否支持数据驱动型样式(Google Cloud 控制台中存在一个地图 ID,其地图样式中启用了此 FeatureLayer 并使用矢量图块)。如果此值为 false(或变为 false),此 FeatureLayer 的样式将恢复为默认样式,并且不会触发事件。
BetadatasetId optional
类型:  string optional
FeatureLayer 的数据集 ID。仅当 featureTypeFeatureType.DATASET 时才会存在。
style optional
FeatureLayer 中的 Feature 的样式。系统会在设置样式时应用该样式。如果样式函数发生更新,您必须重新设置样式属性。FeatureStyleFunction 在应用于地图图块时必须返回一致的结果,并且应进行性能优化。不支持异步函数。如果您使用 FeatureStyleOptions,则该图层的所有地图项都将采用相同的 FeatureStyleOptions 样式。将样式设置为 null 以移除之前设置的样式。如果此 FeatureLayer 不可用,设置样式不会产生任何影响,并且会记录错误。
addListener
addListener(eventName, handler)
参数: 
  • eventNamestring 观察到的事件。
  • handler:用于处理事件的 Function 函数。
返回值:  MapsEventListener 生成的事件监听器。
将指定的监听器函数添加到指定的事件名称。返回此监听器的标识符,该标识符可与 event.removeListener 搭配使用。
click
function(event)
参数: 
点击 FeatureLayer 时会触发此事件。
mousemove
function(event)
参数: 
当用户的鼠标悬停在 FeatureLayer 上时,系统会触发此事件。

FeatureType 常量

google.maps.FeatureType 常量

地图项类型的标识符。

通过调用 const {FeatureType} = await google.maps.importLibrary("maps") 进行访问。请参阅 Maps JavaScript API 中的库

ADMINISTRATIVE_AREA_LEVEL_1 表示国家/地区级别以下的一级行政实体。
ADMINISTRATIVE_AREA_LEVEL_2 表示国家/地区级别以下的二级行政实体。
COUNTRY 表示国家政治实体。
BetaDATASET 表示第三方数据集。
LOCALITY 表示合并的城市或城镇政治实体。
POSTAL_CODE 表示国家/地区内邮寄地址所用的邮政编码。包括邮政编码。
SCHOOL_DISTRICT 表示学区。

FeatureStyleFunction 类型定义

google.maps.FeatureStyleFunction typedef

用于设置 FeatureLayer 样式的函数。

function(FeatureStyleFunctionOptions): (FeatureStyleOptions optional)

FeatureStyleFunctionOptions 接口

google.maps.FeatureStyleFunctionOptions 接口

传递给 FeatureStyleFunction 的选项。

feature
类型:  Feature
传入 FeatureStyleFunction 以设置样式的 Feature

FeatureStyleOptions 接口

google.maps.FeatureStyleOptions 接口

这些选项用于指定应如何在地图上修改 Feature 的样式。

fillColor optional
类型:  string optional
十六进制 RGB 字符串(例如“#00FF00”表示绿色)。仅适用于多边形几何图形。
fillOpacity optional
类型:  number optional
填充不透明度介于 0.0 和 1.0 之间。仅适用于多边形几何图形。
strokeColor optional
类型:  string optional
十六进制 RGB 字符串(例如“#00FF00”表示绿色)。
strokeOpacity optional
类型:  number optional
描边不透明度介于 0.0 和 1.0 之间。仅适用于线条和多边形几何图形。
strokeWeight optional
类型:  number optional
描边宽度(以像素为单位)。仅适用于线条和多边形几何图形。

Feature 接口

google.maps.Feature 接口

表示矢量地图图块地图项的接口。这些是 FeatureStyleFunction 的输入。请勿保存对特定 Feature 对象的引用,因为该引用不会稳定。

featureType
类型:  FeatureType
FeatureFeatureType

PlaceFeature 接口

google.maps.PlaceFeature 接口

表示具有地点 ID 的地图项的接口,其中包括类型为 FeatureType.ADMINISTRATIVE_AREA_LEVEL_1FeatureType.ADMINISTRATIVE_AREA_LEVEL_2FeatureType.COUNTRYFeatureType.LOCALITYFeatureType.POSTAL_CODEFeatureType.SCHOOL_DISTRICT 的地图项。

此接口扩展了 Feature

placeId
类型:  string
继承featureType
fetchPlace
fetchPlace()
参数:无
返回值:  Promise<Place>
为此 PlaceFeature 提取 Place。在生成的 Place 对象中,系统会填充 iddisplayName 属性。显示名称将采用最终用户在地图上看到的语言。(您可以随后通过 Place.fetchFields() 请求其他字段,但需要按照常规的 Google 地图 API 启用和结算流程。)请勿从 FeatureStyleFunction 调用此方法,因为系统仅支持同步 FeatureStyleFunction。如果提取 Place 时出现错误,则 promise 会被拒绝。

DatasetFeature 接口

google.maps.DatasetFeature 接口

表示数据集中特征的接口。DatasetFeaturefeatureType 始终为 FeatureType.DATASET

此接口扩展了 Feature

datasetAttributes
类型:  Object<string, string>
地图项属性的键值对映射。
datasetId
类型:  string
此地图项所属的数据集的 ID。
继承featureType

FeatureMouseEvent 接口

google.maps.FeatureMouseEvent 接口

此对象会从 FeatureLayer 上的鼠标事件返回。

此接口扩展了 MapMouseEvent

features
类型:  Array<Feature>
此鼠标事件的 Feature
继承domEventlatLng
继承stop