Google Map开发系列(三)——加载谷歌地图API的URL详细解读

谷歌地图的 API 类库是通过 script 标签导入的,形式如下:   

    <script src="http://ditu.google.com/maps?file=api&hl=zh-CN&v=2&key=abcdefg " type="text/javascript"></script>

    我们使用API 的时候关心的就是这个script src 属性了,这个属性也就两个部分:路径:http://ditu.google.com/maps ; 参数:file=api&hl=zh-CN&v=2&key=abcdefg 

    解剖一下:

    1 、 路径: http://ditu.google.com/maps

    路径在这里需要注意的就是它的域名: 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 的区别,我也很糊涂,如果你很想做个听话的好公民,不出一丝差错,那么 .cn 可能会比 .com 更让你放心一点吧,臆测,呵呵。

    总得来说,一般的应用使用 ditu.google.com 就可以了,如果需要使用大陆以外的详细地图,就考虑使用 maps.google.com 吧。不过,因为使用了相同的命名空间,这两者在一个页面中不能共存,所以,可以考虑用两个 iframe 来动态切换,这里有个 火炬传递的例子,就是这么实现的,咱当初也贡献过一把。


    
2 、 参数:file=api&hl=zh-CN&v=2&key=abcdefg

    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 论坛里问问,不过别忘了把你的问题、运行环境描述清楚。我碰到过很多次这样的情况:对 JavaScript 或者浏览器端的某些技术特性不是很了解,出了一些奇怪的问题,撂一句话就走人,唉,就不评论了,  活到老学到老  还是很有道理的。 
     4
  key=abcdefg
         
这个是设定你注册的 API 密钥,我 在这里费了不少口舌 ,不是很了解的话可以看看。

来源:http://blog.csdn.net/jiali765/archive/2010/03/02/5338290.aspx

加支付宝好友偷能量挖...


评论(0)网络
阅读(162)喜欢(0)Google Maps开发