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

เลือกแพลตฟอร์ม Android iOS JavaScript

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

ใช้การจัดรูปแบบกับองค์ประกอบชุดข้อมูล

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

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

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

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

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

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

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

หากต้องการจัดสไตล์ฟีเจอร์ของเลเยอร์ชุดข้อมูล ให้ใช้การปิดท้ายการจัดสไตล์ที่ยอมรับ GMSDatasetFeature และแสดงผล GMSFeatureStyle เพื่อกำหนดแอตทริบิวต์สไตล์ จากนั้นตั้งค่าพร็อพเพอร์ตี้สไตล์เป็น Closure การจัดรูปแบบ ซึ่งมีเหตุผลการจัดรูปแบบ

นิพจน์ปิดการจัดสไตล์ต้องเป็นแบบกำหนดได้และแสดงผลลัพธ์ที่สอดคล้องกันเมื่อนำมาใช้ หากมีการเปลี่ยนแปลงข้อกำหนดเฉพาะของการจัดสไตล์ของฟีเจอร์ใดก็ตาม จะต้องใช้สไตล์นั้นอีกครั้ง

กำหนดเส้นโครงร่าง สีเติม และรัศมีของจุด

เมื่อจัดสไตล์องค์ประกอบในฟังก์ชัน Style Factory คุณจะตั้งค่าสิ่งต่อไปนี้ได้

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