Data-driven styling

FeatureLayer 接口

google.maps.FeatureLayer 接口

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

featureType
类型FeatureType
与此 FeatureLayer 关联的 FeatureType
isAvailable
类型boolean
FeatureLayer 是否可用,表示数据驱动型样式是否适用于此地图(有一个地图 ID,它使用了矢量图块,并在 Google Cloud 控制台地图样式中启用此 FeatureLayer)。如果为 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 类型定义符

用于设置 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 的地图项的接口,地点 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