专为移动设备而开发
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,则无论用户首选项如何,都将对所有用户使用日文。因此,在设置此选项之前,请确保您的确希望如此。
Maps Javascript API 还为包含左至右 (LTR) 和右至左 (RTL) 两种语言字符的双向 (Bidi) 文本提供本机支持。RTL 语言示例包括阿拉伯语、希伯来闪族语和现代波斯语。通常,您应该通过向页面的 <html> 元素添加 dir='rtl',来指定要正确呈现的 RTL 语言页面。下例呈现的是使用阿拉伯语控件显示的埃及开罗地图:
另请参阅支持的语言列表。请注意,我们会经常更新支持的语言,因此,此列表可能并不全面。
区域本地化
当您从 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> 标记添加 ®ion=GB,如下所示:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY®ion=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-CN 和 zh-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 参数中指明相应版本即可。阅读更多关于版本控制的内容。
