概念

专为移动设备而开发

Google Maps JavaScript API 经过精心设计,可以快速加载到并流畅运行于移动设备。特别是,我们的开发一直侧重于高级移动设备,如 Android 和 iOS 手机。移动设备的屏幕尺寸比常规的桌面浏览器要小。此外,它们通常还具有这些设备专属的特殊行为(例如“捏拉缩放”)。如果您希望自己的应用能够在移动设备上流畅运行,我们建议您执行以下操作:

  • 将包含您的地图的 <div> 的高度和宽度属性均设置为 100%。不过请注意,有些旧的桌面浏览器在使用这些值时显示效果不佳。
  • 您可以通过在 DOM 中检查 navigator.userAgent 属性,来检测 iPhone 和 Android 设备:
    function detectBrowser() {
      var useragent = navigator.userAgent;
      var mapdiv = document.getElementById("map");
    
      if (useragent.indexOf('iPhone') != -1 || useragent.indexOf('Android') != -1 ) {
        mapdiv.style.width = '100%';
        mapdiv.style.height = '100%';
      } else {
        mapdiv.style.width = '600px';
        mapdiv.style.height = '800px';
      }
    }
    

    这允许您更改针对特定设备的布局,因为我们已经在此完成针对每款设备更改屏幕实际尺寸。

  • Android 和 iOS 设备遵守以下 <meta> 标记:

    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    

    此设置指明地图应全屏显示且不能由用户调整大小。请注意,iPhone 的 Safari 浏览器要求在页面的 <head> 元素内包含此 <meta> 标记。

有关针对 iPhone 开发应用的详细信息,请参阅 Apple 的开发者文档。有关针对 Android 设备开发应用的详细信息,请参阅 Android 文档

本地化

您可以通过更改默认语言设置并设置应用的区域代码,来本地化您的 Maps API 应用,设置区域代码会根据给定国家或地区更改应用的行为方式。

语言本地化

Google Maps API 使用浏览器的首选语言设置显示文本信息,例如,控件的名称、版权声明、行车路线和地图上的标签。大多数情况下,这是首选项;您通常不会想要重写用户的首选语言设置。不过,如果您想要更改 Maps API 以忽略浏览器的语言设置,并强制它以特定语言显示信息,则可在包含用于指定所用语言的 Maps API JavaScript 代码时,向 <script> 标记添加一个可选的 language 参数。

例如,如需以日文显示 Maps API 应用,则可向 <script> 标记添加 &language=ja,如下所示:

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&language=ja"
type="text/javascript">
</script>

注:如果以上面所示方式加载 API,则无论用户首选项如何,都将对所有用户使用日文。因此,在设置此选项之前,请确保您的确希望如此。

查看示例 (map-language.html)

Maps Javascript API 还为包含左至右 (LTR) 和右至左 (RTL) 两种语言字符的双向 (Bidi) 文本提供本机支持。RTL 语言示例包括阿拉伯语、希伯来闪族语和现代波斯语。通常,您应该通过向页面的 <html> 元素添加 dir='rtl',来指定要正确呈现的 RTL 语言页面。下例呈现的是使用阿拉伯语控件显示的埃及开罗地图:

查看示例 (map-rtl.html)

另请参阅支持的语言列表。请注意,我们会经常更新支持的语言,因此,此列表可能并不全面。

区域本地化

当您从 maps.googleapis.com 加载 Maps API 时,它会为应用行为应用倾向于美国的默认偏向。如果您想更改您的应用,以提供不同的地图图块或为应用设置偏向(例如使地理编码结果偏向特定区域),您可以通过在加入 Maps API JavaScript 代码时向 <script> 标记添加 region 参数,来重写此默认行为。

作为 Maps API 应用的开发者,您必须确保为托管应用的国家/地区应用正确的区域本地化,从而确保您的应用遵守当地法律。

region 参数接受 Unicode 区域子标记标识符,后者(通常)具有对国家/地区代码顶级域 (ccTLD) 的一对一映射。大多数 Unicode 区域标识符都与 ISO 3166-1 代码一致,但有一些明显例外。例如,英国的 ccTLD 是“uk”(对应于域 .co.uk),但其区域标识符是“GB”。

例如,如需使用针对英国本地化的 Maps API 应用,则可向 <script> 标记添加 &region=GB,如下所示:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&region=GB"
type="text/javascript">
</script>

下面的示例显示了两份地图,一份地图是根据默认区域(美国)将“Toledo”地理编码为“Toledo, Ohio”,另一份地图则是根据 region 的设置值 ES (Spain) 将结果偏向“Toledo, Spain”。

在中国加载 API

Google Maps API 在中国境内的服务域名是 http://maps.google.cn。向中国用户提供内容时,请将 https://maps.googleapis.com 替换为 http://maps.google.cn。例如:

<script src="http://maps.google.cn/maps/api/js?key=YOUR_API_KEY"
type="text/javascript">
</script>

如果您的应用是特别针对中国用户而开发的,您还可能希望同时添加区域和语言参数。API 支持将 language 参数的值指定为 zh-CNzh-TW

<script src="http://maps.google.cn/maps/api/js?region=cn&language=zh-CN&key=YOUR_API_KEY"
type="text/javascript">
</script>

版本控制

Google Maps JavaScript API 团队会定期更新 API,以加入新的功能、修复 bug 并提升其性能。您可以指明在您的应用中加载哪个版本的 API,为此,您只需在 Google Maps JavaScript API 引导程序请求的 v 参数中指明相应版本即可。阅读更多关于版本控制的内容。

发送以下问题的反馈:

此网页
Google Maps Javascript API
Google Maps Javascript API
需要帮助?请访问我们的支持页面