`Map`
Map에서 로캘 환경을
변경하여 지도에 사용되는 언어 및 지역 설정을 맞춤설정할 수 있습니다. 이렇게 하면
지정된 언어와
국가 또는 지역을 기반으로 지도의 라벨과 동작에 영향을 줄 수 있습니다.
지도 지원 범위 표에서 iOS용 지도 3D SDK의 지원 범위를 확인하세요. 지도 지원 범위 표
언어 현지화
기본적으로 iOS용 지도 3D SDK는 사용자의 기기에 구성된 시스템 로캘 (Locale.current)을 사용하여 표시할 지도의 번역을 결정합니다. SwiftUI
.environment(\.locale, ...) 수정자를
Map 뷰에 적용하거나 런타임에 바인딩된 Locale 상태 변수를 동적으로 업데이트하여 이 기본 동작을 재정의할 수 있습니다.
언어를 설정하면 'Geneva'를 'Genève'로 또는 'lake'를 'lac'로 변경하는 등 정치적 특징, 설명자, 자연적 특징의 번역에 영향을 미치고 오른쪽에서 왼쪽으로 쓰는 스크립트의 텍스트가 렌더링되는 방향이 변경됩니다.
iOS용 지도 3D SDK는 다음 순서로 현지화 환경설정을 찾습니다.
- SwiftUI 환경:
.environment(\.locale, ...)에 전달된Locale값입니다.Map - 기기 설정: iOS 기기에 구성된 시스템 기본 로캘입니다.
다음 예에서는 중국어 ("zh")로
Map을 표시하고 지역을 중국 ("CN")으로 설정합니다.
import GoogleMaps3D
import SwiftUI
struct ContentView: View {
var body: some View {
Map(mode: .hybrid)
.environment(\.locale, Locale(identifier: "zh-CN"))
}
}
환경 로캘을 @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")
}
}
}
}
}
지역 현지화
`Map`에서 Locale에 전달된 .environment(\.locale, ...)에 지역을 설정하면
Map 다른 지도 타일을 제공하거나 지역에 적합한 결과로 앱을 편중할 수 있습니다.
지역을 설정하면 앱이 배포되는 국가 또는 지역에 지역 현지화를 적용하는 데도 도움이 됩니다.
특정 지역 코드 (예: "JP")를 설정하는 동안 사용자의 기기 언어를 유지하려면 Locale를 사용하여 Locale.Components를 구성합니다.
var components = Locale.Components(locale: Locale.current)
components.region = Locale.Region("JP")
let regionBiasedLocale = Locale(components: components)