您可以通过下列方式针对特定国家或地区自定义地图:
- 更改默认语言设置。
- 指定区域代码,这样系统就会根据所指定的国家或地区来改变地图的运行方式。
语言本地化
默认情况下,在地图上显示控件名称、版权声明、行车路线和标签等文本信息时,Maps JavaScript API 会使用用户在浏览器中指定的首选语言设置。在大多数情况下,最好遵循浏览器的设置。不过,如果您希望 Maps JavaScript API 忽略浏览器的语言设置,可以在加载 Maps JavaScript API 代码时向 <script>
标记添加一个 language
参数,强制浏览器以特定语言显示信息。
language
参数会影响控件名称、版权声明、行车路线和控件标签,以及对服务请求的响应。但对服务的影响则不这么明显。例如,在对街道级地址进行地理编码时,系统会以您请求的语言返回国家/地区名称,但地址的其余部分则取决于您要进行地理编码的位置。另一方面,邮政和政区结果会以请求的语言返回。不妨试用此演示版应用,体验一下在更新 language
参数时地图上发生的变化。
下例以日语显示地图,并将区域设置为日本:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async®ion=JP&language=ja&callback=initMap">
</script>
查看示例。
在设置地图的语言时,一定要考虑同时设置区域。这有助于确保您的应用遵守当地法律。
注意:按照上面所示的方式加载该 API 时,无论用户的偏好设置如何,地图都会为所有用户使用日语。因此,在设置此选项之前,请确保您确实希望如此。
Maps JavaScript API 还为包含左至右 (LTR) 和右至左 (RTL) 两种语言字符的双向 (Bidi) 文本提供原生支持。例如,阿拉伯语、希伯来语和波斯语就属于 RTL 语言。通常,您应该通过向页面的 <html>
元素添加 dir='rtl'
来指定页面采用 RTL 语言,以便正确渲染。下例使用阿拉伯语控件来渲染埃及开罗的地图:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async®ion=EG&language=ar&callback=initMap">
</script>
请参阅支持的语言列表。请注意,我们会经常添加新语言,因此该列表可能并非详尽无遗。
区域本地化
如果您想更改应用以使其提供不同的地图图块,或者使应用具有偏向(例如,使地理编码结果偏向于相应区域),请在加载 Maps JavaScript API 代码时向 <script>
标记添加 region
参数。
您是 Maps JavaScript API 应用的开发者,我们建议您始终设置 region
参数,因为设置 region
后,各种服务(例如地点自动补全)往往能够提供更好的结果。您也有责任确保在部署应用的国家/地区进行正确的区域本地化,以确保您的应用符合当地法律。
region
参数接受 Unicode 地区子标记标识符,后者(通常)与国家/地区代码一级的顶级域名 (ccTLD) 存在一对一映射关系。除了某些明显的例外情况之外,大多数 Unicode 区域标识符都与 ISO 3166-1 alpha-2 代码完全一致。例如,英国的 ccTLD 为“uk”(对应于域名 .co.uk
),但其区域标识符为“GB”。如需了解支持的地区,请参阅 Google Maps Platform 覆盖范围详细信息。不妨试用此演示版应用,体验一下在更新 region
参数时地图上发生的变化。
例如,以下脚本标记针对英国对地图进行了本地化:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async®ion=GB&callback=initMap">
</script>
下面的示例显示了两张地图,一张根据设置为 US
(美国)的 region
将“托莱多”地理编码为“俄亥俄州托莱多”,而另一张根据设置为 ES
(西班牙)的 region
使结果偏向于“西班牙托莱多”。
本地化演示
在设置地图的语言时,一定要考虑同时设置区域。在下面的演示中,您能够以自己选择的语言和区域加载地图。
以全屏模式观看此演示。