GMSFeatureLayer 클래스 참조

GMSFeatureLayer 클래스 참조

개요

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

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

공개 멤버 함수

(인스턴스 유형)- initWithFeatureType:
 테스트용 지형지물 레이어 인스턴스 만들기

속성

GMS지형지물 유형featureType
 이 레이어와 연결된 지형지물 유형입니다.
부울사용 가능
 데이터 기반 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
 }