개요
데이터 세트의 지형지물 레이어를 나타내는 인터페이스입니다.
GMSDatasetFeatureLayer의 featureType은 항상 GMSFeatureTypeDataset입니다.
GMSFeatureLayer를 상속합니다.
를 탭합니다. 속성 | |
NSString * | datasetID |
데이터 세트의 ID입니다. 드림 | |
부울 | 사용 가능 |
데이터 기반 GMSFeatureLayer 를 사용할 수 있는지 결정합니다. | |
GMSFeatureStyle *_Nullable(^)(T) | 스타일 |
블록 스타일 지정이 이 레이어의 모든 지형지물에 적용됩니다. |
구성원 기능 문서
- (인스턴스 유형) initWithFeatureType: | (GMSFeatureType) | featureType |
테스트할 지형지물 레이어 인스턴스를 만듭니다.
이 메서드는 단위 테스트에만 사용해야 합니다. 프로덕션에서 GMSFeatureLayer
인스턴스는 SDK로만 만들어야 합니다.
속성 문서
- (NSString*) datasetID [read, assign] |
데이터 세트의 ID입니다.
- (BOOL) 사용 가능 [read, assign, inherited] |
데이터 기반 GMSFeatureLayer
를 사용할 수 있는지 결정합니다.
데이터 기반 스타일 지정을 사용하려면 메탈 프레임워크와 유효한 지도 ID가 필요하며 지형지물 유형이 적용되어야 합니다. NO
인 경우 GMSFeatureLayer
의 스타일이 기본값으로 되돌아가고 이벤트가 트리거되지 않습니다.
- (GMSFeatureStyle* _Nullable(^ style)(T)) [read, write, assign, inherited] |
블록 스타일 지정이 이 레이어의 모든 지형지물에 적용됩니다.
스타일 블록은 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 }