แปลแผนที่เป็นภาษาท้องถิ่น

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

ดูความครอบคลุมของ Maps 3D SDK สำหรับ Android ใน ตารางความครอบคลุมของ Maps

การแปลภาษา

โดยค่าเริ่มต้น Maps 3D SDK สำหรับ Android จะใช้การตั้งค่าภาษาที่กำหนดค่าไว้ในอุปกรณ์ของผู้ใช้เพื่อกำหนดการแปลแผนที่ที่จะแสดง อย่างไรก็ตาม คุณสามารถลบล้างลักษณะการทำงานเริ่มต้นนี้และตั้งค่าภาษาที่เฉพาะเจาะจงเมื่อเริ่มต้นแผนที่ หรืออัปเดตภาษาและภูมิภาคแบบไดนามิกหลังจากเริ่มต้นแผนที่แล้ว

การตั้งค่าภาษาจะส่งผลต่อภาษาที่แสดงในตัวควบคุม UI, เคล็ดลับเครื่องมือ และการแจ้งเตือนลิขสิทธิ์ การอัปเดตภาษาที่ใช้ขณะรันไทม์จะแสดงในมุมมองแผนที่ แต่จะไม่แสดงในตัวควบคุม UI, คำแนะนำเครื่องมือ หรือองค์ประกอบอื่นๆ ดังกล่าว นอกจากนี้ การตั้งค่าภาษายังส่งผลต่อการแปลฟีเจอร์ทางการเมือง คำอธิบาย และฟีเจอร์ทางธรรมชาติ เช่น เปลี่ยน "Geneva" เป็น "Genève" หรือ "lake" เป็น "lac" รวมถึงเปลี่ยนทิศทางที่แสดงข้อความสำหรับสคริปต์ที่เขียนจากขวาไปซ้าย

Maps 3D SDK สำหรับ Android จะค้นหาค่ากำหนดการแปลภาษาตามลำดับต่อไปนี้ หากไม่ได้กำหนดค่ากำหนดไว้ในขั้นตอนแรก ระบบจะค้นหาต่อตามลำดับที่ระบุ

  1. การอัปเดตขณะรันไทม์: ค่ากำหนดภาษาและค่ากำหนดตามพื้นที่ที่ส่งไปยัง setLocale ในอินสแตนซ์ GoogleMap3D โดยใช้ LocaleOptions
  2. การเริ่มต้นแผนที่: ค่ากำหนดภาษาและค่ากำหนดตามพื้นที่ที่ระบุเมื่อ สร้างแผนที่ ไม่ว่าจะใน XML เลย์เอาต์ใน Map3DView โดยใช้ map3d:language และ map3d:region แอตทริบิวต์ หรือ แบบเป็นโปรแกรมโดยใช้ Map3DInitConfig
  3. การตั้งค่าอุปกรณ์: ภาษาค่าเริ่มต้นของระบบที่กำหนดค่าไว้ในอุปกรณ์ Android

ตัวอย่างต่อไปนี้แสดงแผนที่เป็นภาษาจีน ("zh") และตั้งค่าภูมิภาคเป็น จีน ("CN")

คุณสามารถกำหนดค่าภาษาและภูมิภาคในไฟล์ XML เลย์เอาต์ได้โดยใช้ map3d:language และ map3d:region แอตทริบิวต์บน Map3DView ดังนี้

<com.google.android.gms.maps3d.Map3DView
    android:id="@+id/map3dView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map3d:mapMode="hybrid"
    map3d:language="zh"
    map3d:region="CN" />

นอกจากนี้ คุณยังอัปเดตภาษาและภูมิภาคแบบไดนามิกขณะรันไทม์ได้โดยสร้าง LocaleOptions ตั้งค่าด้วย setLanguage และ setRegion, แล้วส่งไปยัง setLocale ใน GoogleMap3D ดังนี้

val localeOptions = LocaleOptions().apply {
    language = "zh"
    region = "CN"
}
googleMap3D.setLocale(localeOptions)

การแปลภูมิภาค

การตั้งค่าภูมิภาคโดยใช้แ01ทริบิวต์ XML map3d:region พร็อพเพอร์ตี้ region ใน Map3DInitConfig หรือ setRegion ใน LocaleOptions สามารถแสดงไทล์แผนที่ที่แตกต่างกันหรือปรับแอปพลิเคชันให้แสดงผลลัพธ์ที่เหมาะสมกับภูมิภาคมากขึ้น นอกจากนี้ การตั้งค่าแท็กภูมิภาคยังช่วยให้แอปพลิเคชันเป็นไปตามกฎหมายท้องถิ่นด้วยการใช้การแปลภาษาที่ถูกต้องสำหรับประเทศหรือเขตแดนที่มีการเผยแพร่แอปพลิเคชัน