谷歌地图的API类库是通过script标签导入的,形式如下:
<script src="http://ditu.google.com/maps?file=api&hl=zh-CN&v=2&key=YOUR_API_KEY"
type="text/javascript">
</script>
我们使用API的时候关心的就是这个script的src属性了,这个属性也就两个部分:路径:http://ditu.google.com/maps;参数:file=api&hl=zh-CN&v=2&key=abcdefg。
解剖一下:
1、 路径:
路径在这里需要注意的就是它的域名:ditu.google.com。这个和谷歌地图简单背景里介绍的谷歌地图主页的问题类似,就是说,我们主要可以使用maps.google.com、ditu.google.com、ditu.google.cn这三个域名,有些区别和说明:
1)如果你需要在地图上显示大陆以外的详细地图,就非maps.google.com莫属了,不过,这个域名对国内地理数据的查询(比如查询地址、路线等等)支持能力有限,如果你这方面有需求就要小心了,而且,这个应该是使用的国外的服务器,所以,访问速度比较慢;
2)相反,如果你需要使用谷歌提供的与国内地理数据查询相关的API,就是用ditu.google.com吧,使用这个域名的缺点就在于它和 maps.google.com提供的类库不是完全一致,更新稍微有点滞后。而且受限于国内数据源在法律等方面的限制,有些功能方面的支持也会受限,比如地址解析(不过现在已经放开了,这里只是拿来举例);
3)至于ditu.google.com和ditu.google.cn的区别,目前还不是太清楚。
总得来说,一般的应用使用ditu.google.com就可以了,如果需要使用大陆以外的详细地图,就考虑使用maps.google.com吧。不过,因为使用了相同的命名空间,这两者在一个页面中不能共存,所以,可以考虑用两个iframe来动态切换。
2、 参数:file=api&hl=zh-CN&v=2&key=YOUR_API_KEY
1)file=api
这个是请求API的JS文件用的,少不了,不需多说;
2) hl=zh-CN
这个是在设定地图上除了地图图片以外的诸如控件名称、版权声明、使用提示等所需要显示文本的语言版本时候用的,如果没有指定这个参数就使用API的默认值,对ditu.google.com来说,默认是中文简体,maps.google.com默认的是英文。其他的语言版本在这里有一个简单的英文说明。
3) v=2
这个是用来指定需要导入的API类库的版本号,可以有四种设定方式:
v=2.s 稳定版本,更新最慢,但是最可靠;
v=2 当前版本(只用主版本号),更新速度和可靠性介于s和x之间;
v=2.x 最新版本,更新最快,包括最新功能,可能没有当前版本可靠;
v=2.76 指定版本,不建议使用。
目前谷歌地图API的主版本号是2,这是从2006年4月开放的版本,对之前的第1版做了一些比较重要的升级,不过估计国内用第1版的应该很少,所以也没必要多说了,注意第二版里定义地图对象时使用GMap2而不是GMap就可以了,否则可能会导致一些奇怪的问题。
需要注意的是,谷歌地图API正常情况下还是相当稳定的,不过也有一些比较著名的Bug,比如超长的Polyline在某些特定环境下可能会显示不正常。万一有什么问题可以去这里找找是不是别人报过的Bug(英文版),当然,更简单的办法是到谷歌地图API论坛里问问,不过别忘了把你的问题、运行环境描述清楚。
4) key=YOUR_API_KEY
这个是设定你注册的API密钥。