경계에 데이터 기반 스타일 지정을 사용하려면 지도 ID를 만들어야 합니다. 다음으로 새 지도 스타일을 만들고 필요한 경계 지형지물 레이어를 선택한 다음 스타일을 지도 ID와 연결합니다.
지도 ID 만들기
mapID는 지도 ID의 위치를 나타내는 Google 지도의 단일 인스턴스입니다. 지도 ID를 만들고 스타일을 업데이트할 수 있습니다. Google Cloud 콘솔에서 언제든지 지도 ID와 연결할 수 있습니다.
새 지도 스타일 만들기
새 지도 스타일을 만들려면 지도 관리 스타일을 사용하여 스타일을 지정할 수 있습니다. 완료되면 스타일을 새로 생성된 지도 ID와 연결합니다.
지형지물 레이어 선택
Google Cloud 콘솔에서 표시할 지형지물 레이어를 선택할 수 있습니다. 이 지도에 표시되는 경계의 종류 (예: 지역, 등).
지형지물 레이어 관리
Google Cloud 콘솔에서 지도 스타일로 이동합니다. 페이지
메시지가 표시되면 프로젝트를 선택합니다.
지도 스타일을 선택합니다.
지형지물 레이어 드롭다운을 클릭하여 레이어를 추가하거나 삭제합니다.
저장을 클릭해 변경사항을 저장하여 지도에서 사용할 수 있게 합니다.
지도 초기화 코드 업데이트
이 단계에서는 지도 ID를 하나 이상의 지형지물이 있는 스타일과 연결해야 합니다. 레이어가 사용 설정되었습니다. Cloud 콘솔에서 지도 ID가 올바르게 설정되었는지 확인하려면 지도 관리에서 구성된 방식을 검토합니다.
Swift
// A map ID using a style with one or more feature layers enabled let mapID = GMSMapID(identifier: "YOUR_MAP_ID") let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7))
Objective-C
// A map ID using a style with one or more feature layers enabled GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]];
지도에 지형지물 레이어 추가
지도의 지형지물 레이어에 대한 참조를 가져오려면 다음을 호출합니다.
지도가 초기화되면 mapView.featureLayer(of:)
를 반환합니다.
Swift
let layer = mapView.featureLayer(of: .locality)
Objective-C
GMSFeatureLayer*layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];
지도 기능 확인
경계를 위한 데이터 기반 스타일 지정에는
Google Cloud 콘솔이며 지도 ID와 연결됩니다. 지도 ID는
휴대전화에서 mapView.mapCapabilities
를 호출할 수 있습니다.
GMSMapView
: 특정 기능 (예:
데이터 기반 스타일 지정)을 사용할 수 있습니다.
또한 다음을 구독하여 지도 기능의 변경사항을 감지할 수 있습니다.
GMSViewDelegate
이 예에서는
데이터 기반 스타일 지정 요구사항을 확인하는 데 사용되는 프로토콜입니다.
Swift
class SampleViewController: UIViewController { private lazy var mapView: GMSMapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7)) override func loadView() { self.view = mapView mapView.delegate = self } } extension SampleViewController: GMSMapViewDelegate { func mapView(_ mapView: GMSMapView, didChange mapCapabilities: GMSMapCapabilityFlags) { if (!mapCapabilities.contains(.dataDrivenStyling)) { // Data-driven styling is *not* available, add a fallback. // Existing feature layers are also unavailable. } } }
Objective-C
@interface SampleViewController: UIViewController <GMSMapViewDelegate> @end @implementation SampleViewController - (void)loadView { GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]]; mapView.delegete = self; self.view = mapView; } - (void)mapView:(GMSMapView *)mapView didChangeMapCapabilities:(GMSMapCapabilityFlags)mapCapabilities { if (!(mapCapabilities & GMSMapCapabilityFlagsDataDrivenStyling)) { // Data-driven styling is *not* available, add a fallback. // Existing feature layers are also unavailable. } } @end