2011-11-03 53 views
0

我在为什么它没有显示丢失谷歌地图显示在FF罚款,但不是IE浏览器

这是谷歌地图,并按照本教程。

http://code.google.com/apis/maps/articles/phpsqlajax.html

问题是地图显示了在IE,但有没有标记?任何人有任何想法

这是该页面,因为它现在正在工作的页面。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
    <title>Barefoot Runners User Map</title> 
    <script src="http://maps.google.com/maps?file=api&v=2&key=key" 
     type="text/javascript"></script> 
    <script type="text/javascript"> 
    //<![CDATA[ 

    var iconBlue = new GIcon(); 
    iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png'; 
    iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'; 
    iconBlue.iconSize = new GSize(12, 20); 
    iconBlue.shadowSize = new GSize(22, 20); 
    iconBlue.iconAnchor = new GPoint(6, 20); 
    iconBlue.infoWindowAnchor = new GPoint(5, 1); 

    var iconRed = new GIcon(); 
    iconRed.image = 'http://labs.google.com/ridefinder/images/mm_20_red.png'; 
    iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'; 
    iconRed.iconSize = new GSize(12, 20); 
    iconRed.shadowSize = new GSize(22, 20); 
    iconRed.iconAnchor = new GPoint(6, 20); 
    iconRed.infoWindowAnchor = new GPoint(5, 1); 

    var customIcons = []; 
    customIcons["restaurant"] = iconBlue; 
    customIcons["bar"] = iconRed; 

    function load() { 
     if (GBrowserIsCompatible()) { 
     var map = new GMap2(document.getElementById("map")); 
     map.addControl(new GSmallMapControl()); 
     //map.addControl(new GMapTypeControl()); 
     map.setCenter(new GLatLng(38.323272, -95.712891), 4); 

     // Change this depending on the name of your PHP file 
     GDownloadUrl("phpsqlajax_genxml3.php", function(data) { 
      var xml = GXml.parse(data); 
      var markers = xml.documentElement.getElementsByTagName("marker"); 
      for (var i = 0; i < markers.length; i++) { 
      var name = markers[i].getAttribute("name"); 
      var address = markers[i].getAttribute("street"); 

      var point = new GLatLng(parseFloat(markers[i].getAttribute("latitude")), 
            parseFloat(markers[i].getAttribute("longitude"))); 
      var marker = createMarker(point, name, address); 
      map.addOverlay(marker); 
      } 
     }); 
     } 
    } 

    function createMarker(point, name, address, type) { 
     var marker = new GMarker(point, customIcons[type]); 
     var html = "<b>" + name + "</b> <br/>" + address; 
     GEvent.addListener(marker, 'click', function() { 
     marker.openInfoWindowHtml(html); 
     }); 
     return marker; 
    } 
    //]]> 
    </script> 
    </head> 

    <body onload="load()" onunload="GUnload()"> 
    <div id="map" style="width: 800px; height: 600px"></div> 
    </body> 
</html> 
+0

任何错误?警告? HTML验证吗?它是作为HTML还是XHTML?等等 – 2011-11-03 15:34:58

回答

1

失败的var xml = GXml.parse(data)所以显然有一些错误的XML由phpsqlajax_genxml3.php

<marker name="Olle Albinsson" street="Professorsvägen" latitude="65.617922" longitude="22.152571" /> 

返回恍如特殊字符?

UPDATE

在Internet Explorer调试这些错误,你可以使用 “开发工具”。当你在IE中按F12时,你会得到一些像工具一样的萤火虫/铬调试。检查控制台会在出现javascript错误时给你一些信息。

在你的情况下,我检查了Network选项卡,并将xml的内容复制到文档中。 IE开发人员工具控制台表示,我们遇到问题*上面指定的标记似乎是什么。

祝你好运

+0

关于如何解决这个问题的任何想法?我只是从数据库中提取数据。 –

+0

看到我的更新后的帖子与造成问题的标记..也许你可以使用php'htmlspecialchar()'函数或其他编码函数 –

+0

谢谢我会研究。你是怎么找到那个我正在寻找它的问题的。我对此很陌生,并且很想知道任何工具,或者您如何找到它是哪个字符或行。 –

相关问题