显示Google地图使用的是HTML网页,后台数据使用asp.net网页返回数据。由于返回数据采用XML格式后,在本地测试,在IE或Chrome或FireFox浏览器中均可以正常显示,上传到网站所租用的虚拟空间后,只有Chrome(FireFox)可以正常显示,IE无法返回XML格式的数据,分析估计是虚拟空间中防止IE使用XML注入漏洞,关闭了相应的功能。没有办法,只好另谋高就。
在改用返回HTML格式字符串方式,返回数据,然后进行分割显示。没有想到,问题接二连三出现。当采用以下代码添加Marker时,不知为何,始终显示的是最后一个Marker的信息,即只弹出最后一个Marker的窗口。比如有10个Marker需要加入地图,加入后,单击Marker,始终显示的是最后一个标记的信息窗口。使用XML格式的数据,经过解析后显示时则没有这样的问题。显示Marker的代码如下:
var icon = new GIcon();
icon.image = "pushpinicon/" + siteId + ".png";
相关解释:bindInfoWindowHtml(content, opts?) 将给定的 HTML 捆绑到此标记中。当点击标记时,HTML 内容将自动显示在信息窗口中。将参数 content 设置为 null 时将解除绑定。(自 2.85 开始)
程序结果参见:http://www.zhongguosou.com/zonghe/trainticketsalesite00.html
至于XML数据在IE中无法正常返回,尤其是使用jQuery的AJAX时,看看这篇文章,或许有帮助:
http://www.nabble.com/jquery-code-works-with-firefox-but-not-ie.-td19745367s27240.html