GMSFeatureLayer 类参考

GMSFeatureLayer 类参考

概览

表示同一 GMSFeatureType 的所有地图项的集合的类,其样式可在客户端上替换。

每个 GMSFeatureType 都有一个对应的 GMSFeatureLayer

继承 <GMSFeature>

公开成员函数

(实例类型)- initWithFeatureType
 创建用于测试的地图项图层实例。
(GMSFeatureType)- featureType
 此地图项的类型。

受保护的属性

 __pad0__:NSObject@property(nonatomic)
只读 GMSFeatureTypefeatureType

属性

BOOL 可用
 确定数据驱动的 GMSFeatureLayer 是否可用。
GMSFeatureStyle *_Nullable(^ style )(T)
 要应用到此图层中所有地图项的样式块。

成员函数文档

- (instancetype) initWithFeatureType (GMSFeatureType) featureType

创建用于测试的地图项图层实例。

此方法应仅用于单元测试。在生产环境中,GMSFeatureLayer 实例只能由 SDK 创建。

- (GMSFeatureType) featureType

此地图项的类型。


成员数据文档

- GMSFeatureLayer:
-(只读 GMSFeatureType)featureType

属性说明

- (BOOL) 可用 [read, assign]

确定数据驱动的 GMSFeatureLayer 是否可用。

数据驱动型样式需要使用 Metal 框架、有效的地图 ID 以及要应用地图项类型。如果为 NO,则 GMSFeatureLayer 的样式会恢复默认值,并且不会触发事件。

- (GMSFeatureStyle* _Nullable(^ style)(T) [read, write, assign]

要应用到此图层中所有地图项的样式块。

调用 setter 时,样式块会应用于视口中的所有可见地图项,后续地图项进入视口时,该块会多次运行。

该函数必须确定性,并在应用于地图图块时返回一致的结果。如果任何地图项的任何样式规范发生变化,则必须重新设置 style。在不调用 style setter 的情况下更改样式块的行为将导致出现未定义的行为,包括过时和/或破碎的地图渲染。请参见下面的示例:

 {.swift}
 var selectedPlaceIDs = Set<String>()
 var style = FeatureStyle(fill: .red, stroke: .clear, strokeWidth: 0)
 layer.style = { feature in
   selectedPlaceIDs.contains(feature.placeID) ? style : nil
 }


 selectedPlaceIDs.insert("foo")

 style = FeatureStyle(fill: .clear, stroke: .blue, strokeWidth: 1.5)


 layer.style = { feature in
   selectedPlaceIDs.contains(feature.placeID) ? style : nil
 }