Google 地图 API V3 针对移动设备进行开发
Google官方教程:
针对移动设备进行开发
Google Maps API v3 旨在实现快速加载,并可在移动设备上稳定运行。尤其是,我们已专注于针对 Android 和 iOS 手机等先进的移动设备进行开发。与桌面计算机上的传统浏览器相比,移动设备的屏幕较小。而且,移动设备通常具备独有的特定行为(例如“双指张合缩放”)。如果您想让自己的应用在移动设备上稳定运行,建议您执行以下操作:
- 将包含您地图的
<div>
的宽度属性和高度属性都设为100%
。不过请注意,在一些旧版的桌面浏览器上使用这些值无法获得良好的显示效果。 - 您可通过检查 DOM 中的
navigator.userAgent
属性来检测 iPhone 和 Android 设备:function detectBrowser() {
var useragent = navigator.userAgent;
var mapdiv = document.getElementById("map_canvas"); 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" />
此设置用于指定地图应以全屏模式显示,且用户不得调整地图的大小。请注意,您需要在网页的
<head>
元素中添加此<meta>
标记,才能使用 iPhone 的 Safari 浏览器。
有关针对 iPhone 进行开发的详情,请参阅 Apple 的开发者文档。有关针对 Android 设备进行开发的详情,请参阅 Android 文档。
本地化
您可以通过更改默认语言设置和设置应用的区域代码来本地化您的 Google Maps API 应用,从而根据给定的国家或地区改变应用的运行方式。
语言本地化
Google Maps API 在显示文本信息(如控件名称、版权声明、行车路线和地图上的标签)时,使用浏览器的首选语言设置。大多数情况下,这是首选的做法;通常您不应覆盖用户的首选语言设置。不过,如果您想要更改 Maps API 以忽略浏览器的语言设置,并使浏览器用特定语言显示信息,可以在加入 Maps API JavaScript 代码时将可选的
language
参数添加到<script>
标记,以指定要使用的语言。例如,要用日语显示 Maps API 应用,可以将
&language=ja
添加到<script>
标记,如下所示:<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&language=ja">
注意:按照上述方式加载 API 后,不论用户的偏好设置如何,系统都会对所有用户显示日语。在设置此选项之前,请确定您确实希望这么做。
Maps JavaScript API 还支持双向 (Bidi) 文本,即本身同时包含从左到右 (LTR) 和从右到左 (RTL) 语言字符的文本。RTL 语言的示例包括阿拉伯语、希伯来语和波斯语。通常,您应当将dir='rtl'
添加到网页的<html>
元素中,以指定要正确呈现的 RTL 语言网页。区域本地化
默认情况下,Maps API 会根据加载 API 的主域所在的国家/地区,提供地图图块并偏向应用行为。如果您想要更改应用以提供不同的地图图块或偏向应用(例如,偏向地理编码结果使其靠近某区域),可以在加入 Maps API JavaScript 代码时将
region
参数添加到<script>
标记中,以覆盖该默认行为。作为 Maps API 应用的开发者,您有责任确保针对应用托管所在的国家/地区进行正确的区域本地化,从而确保您的应用符合当地法律。
region
参数接受 Unicode 区域子标记标识符,该标识符通常与国家/地区代码顶级域名 (ccTLD) 一对一映射。除某些明显不同之外,大多数 Unicode 区域标识符与 ISO 3166-1 代码是相同的。例如,英国的 ccTLD 为“uk”(与其域名.co.uk
相对应),而其区域标识符则为“GB”。例如,要使用本地化到英国的 Maps API 应用,可将
®ion=GB
添加到<script>
标记中,如下所示:<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false?ion=GB">
版本控制
Google Maps API 小组会定期更新此 JavaScript API,即增加新地图项、修复错误和改进性能。所有的 API 更改均向后兼容,以确保您启动应用时使用的是当前记录的界面,且应用可在 API 更新后继续运行,而无需进行相关修改。(注意:实验性 API 参考中记录的实验性地图项并不在此担保范围内。实验性地图项将在 API 文档中明确标出。)
版本类型
您只需使用 Maps JavaScript API 引导程序请求的
v
参数指定 API 版本,即可指明要在您应用中加载该版本。目前,系统支持以下两个选项:- 发行版本,可使用
v=3
或省略v
参数来指定。 - 实验版本,可使用
v=3.exp
来指定。该版本是以主干版本为基础的当前版本,其中包含公开发布的所有错误修复和新增地图项。 - 编号版本,用
v=3.number
表示,指定了 API 的地图项集。
下面的引导程序请求演示了如何请求具体版本的 Maps JavaScript API:
http://maps.googleapis.com/maps/api/js?v=3.9&sensor=true_or_false
每个季度,我们都会构建新的编号版本(“发行版本”),并进行发布以供公众使用。在整个季度期间,在确保地图项集保持稳定的同时,我们还会继续向此发行版本中添加错误修复,Maps JavaScript API 更改日志将会对此进行记录。
当我们发行新的编号版本时,将会“冻结”之前的发行版本,这表示我们不再对其进行任何代码更改更新(包括错误修复),以确保其充分的稳定性。每次我们以此方式推出新的冻结版本时,都会停用现有的冻结版本。也就是说,在任何指定的时间段内,我们只会提供一个冻结版本。请求已停用的编号版本的应用将会自动收到当前的冻结版本。
选择 API 版本
在为您的 Maps API V3 应用选择合适的 API 版本时,可参考以下指南:
- 生产应用应指定发行版本 (
v=3
) 或冻结版本。指定已停用的版本(如v=3.0
)总是会返回当前的冻结版本。 - Maps API for Business SLA 不适用于当前的实验版本。Maps API for Business 应用必须使用当前的发行版本(当前为 3.9)或较早版本,以便适用 SLA。
- 开发新款 Maps API v3 应用时,建议您根据版本号(例如 3.10)选择使用最新的实验版本,直到您需要添加较新版本中所提供的其他地图项时再改用该新版本。这样,您使用的版本会随着应用的开发而日趋成熟,并会在一段时间后变为发行版本,最终成为冻结版本。
- 请求当前冻结版本或较早版本的生产应用应在每季度对最新的发行版本进行测试,以便在该版本冻结前识别有关向后兼容性方面的任何问题。
版本文档
文档将始终反映实验版本。不过,我们会针对每个版本提供一份单独进行维护的参考。
- 版本 3.9 参考(发行)
- 版本 3.10 参考(实验)
- 版本 3.8 参考(冻结)
- 版本 3.0 到 3.7 都已停用。
问题排查
如果您的代码不起作用,可以参考以下一些方法来解决您遇到的问题:
- 查找拼写错误。请注意,JavaScript 语言区分大小写。
- 使用 JavaScript 调试器。在 Firefox 中,您可以使用 JavaScript 控制台、Venkman 调试器或 Firebug 插件。在 IE 中,您可以使用 Microsoft Script Debugger。该系列抓屏演示了如何使用各种调试工具。
- 有关问题,请在 Google Maps API v3 网上论坛上发帖提问。
Last updated 二月 1, 2013.
Google 地图 API V3 针对移动设备进行开发的更多相关文章
- Google 地图 API V3 使用入门
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- Google 地图 API V3 之事件
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- Google 地图 API V3 之控件
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- Google 地图 API V3 之 叠加层
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- Google Maps API V3 之绘图库 信息窗口
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- Google Maps API V3 之 图层
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- Google Maps API V3 之 路线服务
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- Google Map API V3开发(3)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(1)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
随机推荐
- ASP.NET MVC Razor
Razor是MVC3中才有的新的视图引擎.我们知道,在ASP.NET中,ASPX的视图引擎依靠<%和%>来调用C#指令.而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活 ...
- SCCM 2012 R2安装部署过程和问题(二)
上篇:SCCM 2012 R2安装部署过程和问题(一) 在上篇我们已经完成了SCCM 2012 R2安装前的准备,其中有许多细节,关于数据库的准备和权限的设置是需要特别注意的.那么接下来我们开始安装S ...
- Windows Server 2012 虚拟化实战:存储(一)
在计算机世界我们随处可以见的一种方法,那就是抽象.1946年冯诺依曼提出了计算机的基本结构包含:计算器,存储器和I/O设备.这可能是对计算机这一新生事物最重要的一次抽象,它直接影响了今后几十年计算机软 ...
- Linux 如何实现 VLAN - 每天5分钟玩转 OpenStack(12)
LAN 表示 Local Area Network,本地局域网,通常使用 Hub 和 Switch 来连接 LAN 中的计算机.一般来说,两台计算机连入同一个 Hub 或者 Switch 时,它们就在 ...
- 安卓SeekBar
public class Speak extends Fragment implements OnSeekBarChangeListener { private SeekBar bar1; priva ...
- Linux 下.desktop 桌面程序图标文件编写方式
[Desktop Entry] //每个desktop文件都以这个标签开始,说明这是一个Desktop Entry文件 Version = 1.0 //标明Desktop Entry的版本(可选) N ...
- find
语法:find [路径] [参数] [action] -name filename,查找名为filename的文件 -iname filename,查找名为filename的文件,但是不区分大小写 - ...
- spring的注入
1 可能遇到的问题: 异常信息 NoSuchBeanDefinitionException: No matching bean of type [...]或是NoSuchBeanDefinitionE ...
- mysql查询优化建议(百度)
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使 ...
- MMORPG大型游戏设计与开发(服务器 游戏场景 核心详述)
核心这个词来的是多么的高深,可能我们也因为这个字眼望而却步,也就很难去掌握这部分的知识.之所以将核心放在最前面讲解,也可以看出它真的很重要,希望朋友们不会错过这个一直以来让大家不熟悉的知识,同我一起进 ...