시작하기

플랫폼 선택: Android iOS JavaScript

데이터 세트를 위한 데이터 기반 스타일 지정을 설정하려면 다음 단계를 따르세요.

API 키 가져오기 및 API 사용 설정

데이터 세트에 데이터 기반 스타일 지정을 사용하려면 다음이 필요합니다. 결제 계정이 있는 Cloud 프로젝트와 iOS용 Maps SDK 및 Maps Datasets API 사용 설정되어 있습니다. 자세한 내용은 다음을 참고하세요.

지도 ID 만들기

mapID는 지도 ID의 위치를 나타내는 Google 지도의 단일 인스턴스입니다. 지도 ID를 만들고 스타일을 업데이트할 수 있습니다. Google Cloud 콘솔에서 언제든지 지도 ID와 연결할 수 있습니다.

Google Cloud 스크린샷
Console

새 지도 스타일 만들기

새 지도 스타일을 만들려면 지도 관리 스타일을 사용하여 스타일을 지정할 수 있습니다. 완료되면 스타일을 새로 생성된 지도 ID와 연결합니다.

지도 초기화 코드 업데이트

이 단계에서는 지도 ID를 하나 이상의 지형지물이 있는 스타일과 연결해야 합니다. 레이어가 사용 설정되었습니다. 다음에서 지도 ID가 올바르게 설정되었는지 확인하려면 다음 단계를 따르세요. Cloud 콘솔이 지도에서 어떻게 구성되어 있는지 검토합니다. 관리를 참조하세요.

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]];

지도 기능 확인

데이터 세트를 위한 데이터 기반 스타일 지정에는 다음에서 사용 설정된 기능이 필요합니다. 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

다음 단계