Melokalkan peta

Anda dapat menyesuaikan setelan bahasa dan wilayah yang digunakan di peta dengan mengubah lingkungan lokalitas di Map, yang dapat memengaruhi label dan perilaku peta berdasarkan bahasa dan negara atau wilayah yang ditentukan.

Lihat cakupan Maps 3D SDK for iOS di tabel cakupan Maps.

Pelokalan bahasa

Secara default, Maps 3D SDK for iOS menggunakan lokalitas sistem yang dikonfigurasi di perangkat pengguna (Locale.current) untuk menentukan terjemahan peta yang akan ditampilkan. Anda dapat mengganti perilaku default ini dengan menerapkan pengubah .environment(\.locale, ...) SwiftUI ke tampilan Map, atau memperbarui variabel status Locale terikat secara dinamis saat runtime.

Menyetel bahasa akan memengaruhi terjemahan fitur politik, deskriptor, dan fitur alami—seperti mengubah "Geneva" menjadi "Genève" atau "lake" menjadi "lac"—dan mengubah arah teks yang dirender untuk skrip kanan ke kiri.

Maps 3D SDK for iOS mencari preferensi pelokalan dalam urutan berikut:

  1. Lingkungan SwiftUI: Nilai Locale yang diteruskan ke .environment(\.locale, ...) di Map.
  2. Setelan perangkat: Lokalitas default sistem yang dikonfigurasi di perangkat iOS.

Contoh berikut menampilkan Map dalam bahasa China ("zh") dan menetapkan wilayah ke China ("CN"):

import GoogleMaps3D
import SwiftUI

struct ContentView: View {
  var body: some View {
    Map(mode: .hybrid)
      .environment(\.locale, Locale(identifier: "zh-CN"))
  }
}

Anda juga dapat memperbarui bahasa dan wilayah secara dinamis saat runtime dengan mengikat lokalitas lingkungan ke properti @State:

import GoogleMaps3D
import SwiftUI

struct LocalizationExampleView: View {
  @State private var mapLocale: Locale = .current

  var body: some View {
    VStack {
      Map(mode: .hybrid)
        .environment(\.locale, mapLocale)

      HStack {
        Button("Français") {
          mapLocale = Locale(identifier: "fr-FR")
        }
        Button("日本語") {
          mapLocale = Locale(identifier: "ja-JP")
        }
        Button("中文") {
          mapLocale = Locale(identifier: "zh-CN")
        }
      }
    }
  }
}

Pelokalan wilayah

Menetapkan wilayah pada Locale yang diteruskan ke .environment(\.locale, ...) di Map dapat menampilkan ubin peta yang berbeda atau mengarahkan aplikasi ke hasil yang sesuai secara regional. Menetapkan wilayah juga membantu memastikan bahwa aplikasi Anda menerapkan pelokalan regional untuk negara atau wilayah tempat aplikasi didistribusikan.

Untuk mempertahankan bahasa perangkat pengguna saat menetapkan kode wilayah tertentu (misalnya, "JP"), buat Locale menggunakan Locale.Components:

var components = Locale.Components(locale: Locale.current)
components.region = Locale.Region("JP")
let regionBiasedLocale = Locale(components: components)