เพิ่มชุดข้อมูลลงในแผนที่

หน้านี้แสดงวิธีเพิ่มชุดข้อมูลลงในแผนที่และใช้การจัดรูปแบบ

ใช้การจัดรูปแบบกับฟีเจอร์ชุดข้อมูล

ข้อกำหนดเบื้องต้น

คุณควรมีรหัสแผนที่และรูปแบบแผนที่ รวมถึงรหัสชุดข้อมูลก่อนดำเนินการต่อ

เชื่อมโยงรหัสชุดข้อมูลกับรูปแบบแผนที่

ในการจัดรูปแบบคุณลักษณะของชุดข้อมูล ให้ใช้ฟังก์ชันรูปแบบกับ เลเยอร์ฟีเจอร์ชุดข้อมูลของแผนที่ ระบบจะสร้างเลเยอร์ฟีเจอร์ชุดข้อมูลเมื่อคุณ เชื่อมโยงชุดข้อมูลกับรูปแบบแผนที่

ทำตามขั้นตอนต่อไปนี้เพื่อเชื่อมโยงชุดข้อมูลกับรูปแบบแผนที่ โดยใช้:

  1. ใน Google Cloud Console ให้ไปที่หน้าชุดข้อมูล
  2. คลิกชื่อชุดข้อมูล หน้ารายละเอียดชุดข้อมูลจะปรากฏขึ้น
  3. คลิกแท็บแสดงตัวอย่าง
  4. ในส่วนรูปแบบแผนที่ที่เกี่ยวข้อง ให้คลิก เพิ่มรูปแบบแผนที่
    ภาพหน้าจอของปุ่ม "เพิ่มรูปแบบแผนที่"
  5. คลิกช่องทําเครื่องหมายสําหรับรูปแบบแผนที่ที่ต้องการเชื่อมโยง แล้วคลิก บันทึก

นำรูปแบบไปใช้กับชุดข้อมูล

ในการจัดรูปแบบคุณลักษณะของเลเยอร์ชุดข้อมูล ให้ใช้การปิดการจัดรูปแบบที่ยอมรับ 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 จากฟังก์ชันรูปแบบฟีเจอร์ได้ด้วย ตัวอย่างเช่น หาก ต้องการให้คุณลักษณะบางส่วนยังคงมองไม่เห็น