论坛首页 Web前端技术论坛

加載GOOGLE地圖時報錯

浏览 2777 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-17   最后修改:2008-12-24
            加載GOOGLE地圖的js文件時報錯
    这是我的第一篇博客,写的不好请大家多多包涵。今天在做一个页面中加入GOOGLE地图时遇到一个问题,当我按照google map 开发者指南上面的步骤进行操作后,在浏览器中预览时,页面就总是出现JS的错误,缺少分号。
我挺郁闷的,在另外的页面都可以,但在我这个的页面它就不行。刚开始我就找我其它
JS函数是不是有缺少分号的。仔细看了一遍,都没有。这就怪了。没办法,那就用最简单也最
有效的办法看是哪里的JS出错。(将加载地图的JS函数单独拿到一个新的页面)。还是不行,我就想我这个页面和其它页面有哪里不同。错误是在加载google的JS文件时出错。是不是字符编码的问题,导致浏览器在解析引入的JS函数出现乱码呢。仔细一对比,嘿,还真是不一样
GOOGLE的地图在编码为UTF-8上的页面就可以运行,而我的页面编码是BIG5,所以会出错。
<meta http-equiv="Content-Type" content="text/html; charset=big5"/>

应该如何解决呢?后来我在常见问题中找到了答案,原来GOOGLE默认的输入和输出字符是utf-8.如果你的页面的编码设定是utf-8!
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

那么引入js文件时直接copy就可以了!
如下:
<script src="http://ditu.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA&hl=zh-CN"
            type="text/javascript"></script>

其中的key要换成自己申请的。
但是如果你的页面不是utf-8,而是其它如big5.那么你就的加一个参数。
如下:
 
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;oe=big5&amp;key=ABQIAAAAJ7m7zfwC_O2Z3sznvnehhBT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQQRLKM1RWutv26B1U2XhyK6NoDZA" type="text/javascript"></script>

注意,这两段引入的代码有三个地方不同。
1. 首先是key不同,这个不用说。

2.  一个src="http://ditu.google.com/maps,
     一个src="http://maps.google.com/maps。
    这两个第一个代表的是大陆,另一个代表的是我们的台湾地区。每个地区的地图服务器是不一样的
3. 第二个引入的JS中多一个参数oe=big5,这是设定google的JS文件的输出编码,这个就是要和您的页面设定的编码要一致。否则就会遇到我那个同样的问题。另外还可以用ie=big5,设定它的输入编码。

好了,以上就是我今天的一点心得。写出来一是给自己一个总结,另外可以为有需要的朋友节省一点时间。另外下面是google的开发者指南的网址。做地图时可以参考一下。

http://code.google.com/intl/zh-CN/apis/maps/documentation/introduction.html

[url]  http://ianjung1974.blogspot.com/2008/06/google-maps-api.html[/url]

[url]  http://ianjung1974.blogspot.com/2008/07/google-maps-api.html[/url]
google的地圖工具包
http://code.google.com/p/gmaps-utility-library/

google的地圖api討論組

http://groups.google.com/group/Google-Maps-API-China/topics?start=0&sa=N


论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics