GMSFeatureLayer 클래스 참조

GMSFeatureLayer 클래스 참조

개요

클라이언트에서 스타일을 재정의할 수 있는 동일한 GMSFeatureType의 모든 지형지물 컬렉션을 나타내는 클래스입니다.

GMSFeatureType에는 상응하는 GMSFeatureLayer가 하나씩 있습니다.

GMSDatasetFeatureLayer에서 상속됩니다.

공개 멤버 함수

(인스턴스 유형)- initWithFeatureType:
 테스트할 지형지물 레이어 인스턴스를 만듭니다.

속성

GMSFeatureTypefeatureType
 이 레이어와 연결된 지형지물 유형입니다.
부울사용 가능
 데이터 기반 GMSFeatureLayer를 사용할 수 있는지 결정합니다.
GMSFeatureStyle *_Nullable(^)(T)스타일
 블록 스타일 지정이 이 레이어의 모든 지형지물에 적용됩니다.

구성원 기능 문서

- (인스턴스 유형) initWithFeatureType: (GMSFeatureType) featureType

테스트할 지형지물 레이어 인스턴스를 만듭니다.

이 메서드는 단위 테스트에만 사용해야 합니다. 프로덕션에서 GMSFeatureLayer 인스턴스는 SDK로만 만들어야 합니다.


속성 문서

- (GMSFeatureType) featureType [read, assign]

이 레이어와 연결된 지형지물 유형입니다.

레이어와 연결된 모든 지형지물이 이 유형에 속합니다.

- (BOOL) 사용 가능 [read, assign]

데이터 기반 GMSFeatureLayer를 사용할 수 있는지 결정합니다.

데이터 기반 스타일 지정을 사용하려면 메탈 프레임워크와 유효한 지도 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
 }