地図で使用される言語と地域のデフォルト設定を変更し、地図の地域コードを変更することで、地図の言語と地域の設定をカスタマイズできます。これにより、指定した国または地域に基づいて地図の動作に影響を与えることができます。
Maps 3D SDK for Android の対応状況については、 地図の対応状況表をご覧ください。
言語のローカライズ
デフォルトでは、Maps 3D SDK for Android は、ユーザーのデバイスで設定された言語設定を使用して、表示する地図の翻訳を決定します。ただし、このデフォルトの動作をオーバーライドして、地図の初期化時に特定の言語を設定したり、地図の初期化後に言語と地域を動的に更新したりすることもできます。
言語を設定すると、UI コントロール、ツールチップ、著作権に関する通知の言語に影響します。ランタイムのロケール更新は地図ビューに反映されますが、他の UI コントロール、ツールチップ、その他の要素には反映されません。また、政治的特徴、記述子、自然の特徴の翻訳(「Geneva」を「Genève」に、「lake」を「lac」に変更するなど)にも影響し、右から左に記述するスクリプトのテキストのレンダリング方向も変更されます。
Maps 3D SDK for Android は、次の順序でローカライズ設定を検索します。最初のステップで設定が定義されていない場合は、指定された順序で検索を続けます。
- ランタイムの更新:
LocaleOptionsを使用してGoogleMap3DインスタンスのsetLocaleに渡される言語と地域別の設定。 - 地図の初期化: 地図の作成時に指定された言語と地域別の設定。`Map3DView` のレイアウト XML で
Map3DViewを使用して、map3d:language属性とmap3d:region属性を使用するか、を使用してプログラムで指定しますMap3DInitConfig。 - デバイスの設定: 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
` で値を設定して、`
GoogleMap3D
` インスタンスの `
setLocale
` に渡すことで、ランタイム時に言語と地域を動的に更新することもできます。
val localeOptions = LocaleOptions().apply {
language = "zh"
region = "CN"
}
googleMap3D.setLocale(localeOptions)
リージョンのローカライズ
map3d:region XML 属性、
region
の
Map3DInitConfigプロパティ、
または
setRegion
の
LocaleOptions
を使用して地域を設定すると、さまざまな地図タイルを提供したり、
地域に適した結果を優先的に表示したりできます。また、地域タグを設定することで、アプリが配信される国または地域に適切な地域ローカライズを適用し、アプリが地域の法律を遵守するようにします。