이 페이지에서는 지도에 데이터 세트를 추가하고 스타일을 적용하는 방법을 설명합니다.
기본 요건
먼저, 지도 ID와 지도 스타일, 데이터 세트 ID가 있어야 합니다.
데이터 세트 ID와 지도 스타일 연결
데이터 세트의 지형지물에 스타일을 지정하려면 지도의 데이터 세트 지형지물 레이어에 스타일 함수를 적용합니다. 데이터 세트 지형지물 레이어는 데이터 세트를 지도 스타일과 연결할 때 생성됩니다.
사용 중인 지도 스타일과 데이터 세트를 연결하려면 다음 단계를 따르세요.
- Google Cloud 콘솔에서 데이터 세트 페이지로 이동합니다.
- 데이터 세트의 이름을 클릭합니다. 데이터 세트 세부정보 페이지가 나타납니다.
- 미리보기 탭을 클릭합니다.
- 연결된 지도 스타일 섹션에서 지도 스타일 추가를 클릭합니다.
- 연결할 지도 스타일의 체크박스를 클릭한 다음 저장을 클릭합니다.
데이터 세트에 스타일 적용
데이터 세트 레이어의 지형지물에 스타일을 지정하려면 GMSDatasetFeature
를 수락하고 GMSFeatureStyle
를 반환하는 스타일 지정 클로저를 사용하여 스타일 속성을 정의합니다. 그런 다음 스타일 속성을 스타일 지정 로직이 포함된 스타일 지정 폐쇄식으로 설정합니다.
스타일 지정 폐쇄는 결정론적이어야 하며 적용될 때 일관된 결과를 반환해야 합니다. 지형지물의 스타일 지정이 변경되면 스타일을 다시 적용해야 합니다.
획, 채우기, 점 반경 설정
스타일 팩토리 함수에서 지형지물의 스타일을 지정할 때 다음을 설정할 수 있습니다.
UIColor
클래스에 의해 정의된 테두리의 획 색상 및 불투명도입니다. 기본값은 투명 (UIColor.clearColor
)입니다.테두리의 획 너비입니다(단위: 화면 픽셀). 기본값은 2입니다.
UIColor
클래스에 의해 정의된 채우기 색상 및 불투명도입니다. 기본값은 투명 (UIColor.clearColor
)입니다.0~128픽셀 사이의 점 지형지물의 점 반지름입니다.
간단한 스타일 규칙 사용
지형지물의 스타일을 지정하는 가장 간단한 방법은 색상, 불투명도, 선 너비와 같은 상수 스타일 속성을 정의하는 것입니다. 지형지물 스타일 옵션을 데이터 세트 지형지물 레이어에 직접 적용하거나 맞춤 스타일과 함께 사용합니다.
Swift
let mapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40.7, longitude: -74.0, zoom: 12)) let layer = mapView.datasetFeatureLayer(of: "YOUR_DATASET_ID") // Define a style with green fill and stroke. // Apply the style to all features in the dataset. layer.style = { feature in let style = MutableFeatureStyle() style.fillColor = .green.withAlphaComponent(0.1) style.strokeColor = .green style.strokeWidth = 2.0 return style }
Objective-C
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude: 40.7 longitude: -74.0 zoom:12]]; GMSDatasetFeatureLayer *layer = [mapView datasetFeatureLayerOfDatasetID:@"YOUR_DATASET_ID"]; // Define a style with green fill and stroke. // Apply the style to all features in the dataset. layer.style = ^(GMSDatasetFeature *feature) { GMSMutableFeatureStyle *style = [GMSMutableFeatureStyle style]; style.fillColor = [[UIColor greenColor] colorWithAlphaComponent:0.1]; style.strokeColor = [UIColor greenColor]; style.strokeWidth = 2.0; return style; };
선언적 스타일 규칙 사용
지형지물의 속성을 기반으로 스타일 규칙을 선언적으로 설정하고 데이터 세트 전체에 적용할 수 있습니다. 지형지물의 하위 집합은 계속 보이지 않게 하려는 등의 경우에는 지형지물 스타일 함수에서 nil
을 반환할 수도 있습니다.
예를 들어 GMSDatasetFeature.datasetAttributes
를 사용하여 지형지물의 데이터 세트 속성 값을 반환합니다. 그런 다음 속성을 기반으로 기능의 스타일을 맞춤설정할 수 있습니다.
이 예에서는 스타일을 제어하기 위해 데이터 세트의 각 지형지물의 'highlightColor' 속성 값을 결정합니다.
Swift
layer.style = { feature in var attributeColor: String = feature.datasetAttributes["highlightColor"] // Conditionalize styling based on the value of the "highlightColor" attribute. ... }
Objective-C
// Apply the style to a single dataset feature. layer.style = ^(GMSDatasetFeature *feature) { NSString *attributeColor = feature.datasetAttributes[@"highlightColor"]; // Conditionalize styling based on the value of the "highlightColor" attribute. ... };
레이어에서 스타일 지정 삭제
레이어에서 스타일 지정을 삭제하려면 style
을 null
로 설정하세요.
Swift
layer.style = nil
Objective-C
layer.style = nil;
지형지물의 하위 집합은 계속 보이지 않게 하려는 등의 경우에는 지형지물 스타일 함수에서 nil
을 반환할 수도 있습니다.