ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าการจัดรูปแบบตามข้อมูลสำหรับขอบเขต
เปิดใช้ตัวแสดงผลแผนที่ใหม่
ตัวแสดงผลแผนที่ที่อัปเกรดพร้อมใช้งานตั้งแต่เวอร์ชัน 18.0.0 Maps SDK สำหรับ Android โหมดแสดงภาพนี้มีการปรับปรุงมากมาย รวมถึง รองรับการจัดรูปแบบแผนที่ในระบบคลาวด์เป็น Maps SDK สำหรับ Android
การเปิดตัว Maps SDK เวอร์ชัน 18.2.0 สำหรับ Android ทำให้ Google ได้เปลี่ยน โหมดแสดงภาพเริ่มต้นจากโหมดแสดงภาพเดิมไปเป็นโหมดแสดงภาพแผนที่ที่อัปเกรดแล้ว ช่วงเวลานี้ การเปลี่ยนแปลงหมายความว่าขณะนี้ระบบจะใช้โหมดแสดงภาพแผนที่ที่อัปเกรดในแอปของคุณโดยค่าเริ่มต้น เมื่อคุณสร้างแอปใหม่ หรือสร้างแอปที่มีอยู่อีกครั้ง
สร้างรหัสแผนที่
หากต้องการสร้างรหัสแผนที่ใหม่ ให้ทำตามขั้นตอนใน สร้างรหัสแผนที่ ตรวจสอบว่าคุณ ตั้งค่าประเภทแผนที่เป็น Android
สร้างรูปแบบแผนที่ใหม่
หากต้องการสร้างแผนที่รูปแบบใหม่ ให้ทำตามคำแนะนำในจัดการรูปแบบแผนที่ เพื่อสร้างรูปแบบ และเชื่อมโยงสไตล์กับรหัสแผนที่ที่คุณเพิ่งสร้างขึ้น
เลือกเลเยอร์สถานที่ในรูปแบบแผนที่ใหม่ของคุณ
ในคอนโซล Google API คุณสามารถเลือกเลเยอร์ของฟีเจอร์ที่จะแสดงได้ ด้วยรูปแบบแผนที่ใหม่ เลเยอร์ฟีเจอร์จะกำหนดประเภทของขอบเขต ปรากฏบนแผนที่ (เช่น ย่าน รัฐ และอื่นๆ)
- ในคอนโซล Google API ไปที่หน้ารูปแบบแผนที่
- เลือกโปรเจ็กต์เมื่อได้รับแจ้ง
- เลือกรูปแบบแผนที่
- คลิกเมนูแบบเลื่อนลงเลเยอร์ของฟีเจอร์เพื่อเพิ่มหรือนำเลเยอร์ออก
- คลิกบันทึกเพื่อบันทึกการเปลี่ยนแปลงและทำให้พร้อมใช้งานกับแผนที่ของคุณ
อัปเดตรหัสการเริ่มต้นแผนที่
ขั้นตอนนี้ต้องใช้รหัสแผนที่ที่คุณเพิ่งสร้างขึ้น โดยสามารถดูได้ที่ การจัดการ Maps
หากต้องการเพิ่มรหัสแผนที่ลงในโค้ดเริ่มต้น ให้ดู เพิ่มรหัสแผนที่ลงในแอป
เข้าถึงเลเยอร์ฟีเจอร์ของแผนที่
คุณใช้FeatureLayer
เพื่อแสดงเลเยอร์ฟีเจอร์แต่ละชั้นของแผนที่ เช่น รหัสไปรษณีย์ หรือ
เลเยอร์คุณลักษณะของย่าน หากต้องการเข้าถึงออบเจ็กต์เลเยอร์ฟีเจอร์ ให้เรียก
GoogleMap.getFeatureLayer()
เมื่อแผนที่เริ่มต้น:
Java
private FeatureLayer postalCodeLayer;
@Override public void onMapReady(GoogleMap map) { // Get the POSTAL_CODE feature layer. postalCodeLayer = map.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()); ... }
Kotlin
private var postalCodeLayer: FeatureLayer? = null
override fun onMapReady(googleMap: GoogleMap) { // Get the POSTAL_CODE feature layer. postalCodeLayer = googleMap.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()) ... }
ผ่านFeatureLayerOptions
ไปยัง getFeatureLayer()
เพื่อระบุประเภทของเลเยอร์ฟีเจอร์ ด้วยวิธีนี้
เช่น คุณต้องการเข้าถึงเลเยอร์ POSTAL_CODE
สร้าง
FeatureLayer
สำหรับแต่ละเลเยอร์ที่ต้องการจัดรูปแบบ
เมื่อคุณมีออบเจ็กต์ FeatureLayer
แล้ว คุณจะใช้การจัดรูปแบบกับ
รูปหลายเหลี่ยมของจุดสนใจนั้น
ตรวจสอบความสามารถของแผนที่ (จำเป็น)
การจัดรูปแบบตามข้อมูลสำหรับขอบเขตต้องใช้รหัสแผนที่ หากไม่มีรหัสแผนที่ หรือ
มีการส่งผ่านรหัสแผนที่ที่ไม่ถูกต้อง การจัดรูปแบบตามข้อมูลของขอบเขตไม่สามารถโหลดได้ เพื่อ
คุณสามารถใช้
MapCapabilities
เพื่อตรวจสอบว่าระบบรองรับการจัดรูปแบบตามข้อมูลสำหรับขอบเขตหรือไม่
Kotlin
val capabilities: MapCapabilities = googleMap.getMapCapabilities() System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable())
Java
MapCapabilities capabilities = googleMap.getMapCapabilities(); System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable());