Data-driven styling

FeatureLayer 接口

google.maps.FeatureLayer 接口

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

featureType
类型FeatureType
与此 FeatureLayer 相关联的 FeatureType
isAvailable
类型boolean
FeatureLayer 是否可用,即数据驱动型样式是否适用于此地图(是否存在使用矢量图块且在 Google Cloud 控制台地图样式中启用此 FeatureLayer 的地图 ID)。如果为 false(或变为 false),此 FeatureLayer 的样式将恢复为默认值,并且不会触发事件。
BetadatasetId optional
类型string optional
FeatureLayer 的数据集 ID。仅当 featureTypeFeatureType.DATASET 时才存在。
style optional
FeatureLayerFeature 的样式。系统会在设置样式时应用样式。如果您的样式函数已更新,则必须重新设置样式属性。针对地图图块应用 FeatureStyleFunction 时,必须返回一致的结果,并且应针对性能进行优化。不支持异步函数。如果您使用 FeatureStyleOptions,该图层的所有地图项都将使用相同的 FeatureStyleOptions 设置样式。将样式设为 null 可移除之前设置的样式。如果此 FeatureLayer 不可用,则设置样式不会执行任何操作,并且会记录错误。
addListener
addListener(eventName, handler)
参数
  • eventNamestring 个观察到的事件。
  • handlerFunction 函数,用于处理事件。
返回值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
Feature 传递到 FeatureStyleFunction 以进行样式设置。

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
描边宽度(以像素为单位)。仅适用于线和多边形几何图形。

功能接口

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>
获取此 PlaceFeaturePlace。在生成的 Place 对象中,系统将填充 iddisplayName 属性。显示名称将采用最终用户在地图上看到的语言。(随后可以通过 Place.fetchFields() 请求其他字段,但前提是您照常启用 Places 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