เริ่มเลย

เลือกแพลตฟอร์ม แอนดรอยด์ iOS JavaScript

ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าการจัดรูปแบบตามข้อมูลสำหรับชุดข้อมูล

รับคีย์ API และเปิดใช้ API

ก่อนที่จะใช้การจัดรูปแบบโดยอิงตามข้อมูลสำหรับชุดข้อมูล คุณต้องมีสิ่งต่อไปนี้ โปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่มีบัญชีสำหรับการเรียกเก็บเงิน และทั้ง Maps SDK สำหรับ iOS และ Maps Datasets API เปิดอยู่ ดูข้อมูลเพิ่มเติมได้ที่

สร้างรหัสแผนที่

mapID คือตัวระบุที่ไม่ซ้ำซึ่งแสดงถึง ตำแหน่งเดียวของ Google Maps คุณสร้างรหัสแผนที่และอัปเดตรูปแบบได้ เชื่อมโยงกับรหัสแผนที่ได้ทุกเมื่อใน Google Cloud Console

ภาพหน้าจอของ Google Cloud
คอนโซล

สร้างรูปแบบแผนที่ใหม่

ถ้าต้องการสร้างแผนที่รูปแบบใหม่ ให้ทำตามวิธีการในจัดการแผนที่ รูปแบบในการสร้าง สไตล์ เมื่อเสร็จแล้ว ให้เชื่อมโยงรูปแบบกับรหัสแผนที่ที่สร้างใหม่

อัปเดตรหัสการเริ่มต้นแผนที่

ขั้นตอนนี้กำหนดให้เชื่อมโยงรหัสแผนที่กับสไตล์ที่มีอย่างน้อย 1 องค์ประกอบ เปิดใช้งานเลเยอร์แล้ว เพื่อยืนยันการตั้งค่ารหัสแผนที่ของคุณอย่างถูกต้องใน Cloud Console โปรดศึกษาวิธีกำหนดค่าใน Maps การจัดการ

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 Console และเชื่อมโยงกับรหัสแผนที่แล้ว เนื่องจากรหัสแผนที่อยู่ภายใต้ เปลี่ยน คุณสามารถโทรหา 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

ขั้นตอนถัดไป