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

ข้อกำหนดเบื้องต้น
ก่อนดำเนินการต่อ คุณควรมีรหัสแผนที่ สไตล์แผนที่ และรหัสชุดข้อมูล
เชื่อมโยงรหัสชุดข้อมูลกับรูปแบบแผนที่
หากต้องการจัดสไตล์ฟีเจอร์ของชุดข้อมูล ให้ใช้ฟังก์ชันสไตล์กับเลเยอร์ของฟีเจอร์ชุดข้อมูลของแผนที่ ระบบจะสร้างเลเยอร์ของฟีเจอร์ชุดข้อมูลเมื่อคุณเชื่อมโยงชุดข้อมูลกับรูปแบบแผนที่
ทำตามขั้นตอนต่อไปนี้เพื่อเชื่อมโยงชุดข้อมูลกับสไตล์แผนที่ที่คุณใช้
- ในคอนโซล Google Cloud ให้ไปที่หน้าชุดข้อมูล
- คลิกชื่อชุดข้อมูล หน้ารายละเอียดชุดข้อมูลจะปรากฏขึ้น
- คลิกแท็บพรีวิว
- ในส่วนรูปแบบแผนที่ที่เชื่อมโยง ให้คลิกเพิ่มรูปแบบแผนที่
- คลิกช่องทำเครื่องหมายสำหรับรูปแบบแผนที่ที่จะเชื่อมโยง แล้วคลิกบันทึก
ใช้รูปแบบกับชุดข้อมูล
หากต้องการจัดสไตล์ฟีเจอร์ของเลเยอร์ชุดข้อมูล ให้ใช้การปิดสไตล์ที่ยอมรับ GMSDatasetFeature และแสดงผล GMSFeatureStyle เพื่อกำหนดแอตทริบิวต์สไตล์ จากนั้นตั้งค่าพร็อพเพอร์ตี้สไตล์เป็น Closure การจัดสไตล์ ซึ่งมีตรรกะการจัดสไตล์
การปิดการจัดรูปแบบต้องเป็นแบบเชิงกำหนดและแสดงผลลัพธ์ที่สอดคล้องกันเมื่อนำไปใช้ หากมีการเปลี่ยนแปลงข้อกำหนดการจัดรูปแบบของฟีเจอร์ใดๆ คุณต้องใช้รูปแบบอีกครั้ง
กำหนดเส้นขอบ การเติม และรัศมีของจุด
เมื่อจัดรูปแบบฟีเจอร์ในฟังก์ชัน Style Factory คุณจะตั้งค่าต่อไปนี้ได้
สีและความทึบแสงของเส้นขอบตามที่กำหนดโดยคลาส
UIColorค่าเริ่มต้นคือโปร่งใส (UIColor.clearColor)ความกว้างของเส้นขอบในหน่วยพิกเซลของหน้าจอ ค่าเริ่มต้นคือ 2
สีเติมและความทึบแสงตามที่กำหนดโดยคลาส
UIColorค่าเริ่มต้นคือโปร่งใส (UIColor.clearColor)รัศมีของจุดของฟีเจอร์จุดระหว่าง 0 ถึง 128 พิกเซล
ใช้กฎการจัดรูปแบบที่เรียบง่าย
วิธีที่ง่ายที่สุดในการจัดสไตล์ฟีเจอร์คือการกำหนดแอตทริบิวต์สไตล์คงที่ เช่น สี ความทึบแสง และความกว้างของเส้น ใช้ตัวเลือกรูปแบบฟีเจอร์กับเลเยอร์ของฟีเจอร์ชุดข้อมูลโดยตรง หรือใช้ร่วมกับการจัดรูปแบบที่กำหนดเอง
Swift
let options = GMSMapViewOptions() options.mapID = GMSMapID(identifier: "YOUR_MAP_ID") options.camera = GMSCameraPosition(latitude: 40.7, longitude: -74.0, zoom: 12) let mapView = GMSMapView(options: options) 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
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:40.7 longitude:-74.0 zoom:12]; options.mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; 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 จากฟังก์ชันสไตล์ของฟีเจอร์ได้ด้วย เช่น หากต้องการให้ฟีเจอร์ชุดย่อยยังคงมองไม่เห็น