将地图本地化

您可以通过下列方式针对特定国家或地区自定义地图:

  • 更改默认语言设置。
  • 指定区域代码,这样系统就会根据所指定的国家或地区来改变地图的运行方式。

语言本地化

默认情况下,在地图上显示控件名称、版权声明、行车路线和标签等文本信息时,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&region=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&region=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&region=GB&callback=initMap">
</script>

下面的示例显示了两张地图,一张根据设置为 US(美国)的 region 将“托莱多”地理编码为“俄亥俄州托莱多”,而另一张根据设置为 ES(西班牙)的 region 使结果偏向于“西班牙托莱多”。

欢迎查看美国示例西班牙示例

本地化演示

在设置地图的语言时,一定要考虑同时设置区域。在下面的演示中,您能够以自己选择的语言和区域加载地图。

全屏模式观看此演示。