Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps api 3 GeoXml3从ASP文件解析KML或XML时出错_Google Maps Api 3_Asp Classic_Geoxml3 - Fatal编程技术网

Google maps api 3 GeoXml3从ASP文件解析KML或XML时出错

Google maps api 3 GeoXml3从ASP文件解析KML或XML时出错,google-maps-api-3,asp-classic,geoxml3,Google Maps Api 3,Asp Classic,Geoxml3,我正在加载带有geoxml3的地图。如果我使用kml文件或xml字符串,它可以正常工作 KML版本(正常) XML字符串 geoXml_1.parseKmlString("<?xml version='1.0' encoding='UTF-8'?><kml xmlns='http://earth.google.com/kml/2.0'><Placemark><name>Manfred Mustermann</name><descr

我正在加载带有geoxml3的地图。如果我使用kml文件或xml字符串,它可以正常工作

KML版本(正常)

XML字符串

geoXml_1.parseKmlString("<?xml version='1.0' encoding='UTF-8'?><kml xmlns='http://earth.google.com/kml/2.0'><Placemark><name>Manfred Mustermann</name><description>Manfred Mustermann</description><Point><coordinates>7.0964850607874,51.781641735074,0</coordinates></Point><address>Musterstr 29 Aachen, 52070 Nordrhein-Westfalen</address><styleUrl>#0</styleUrl></Placemark></kml>")
if (geoXml_1.docs[0].gpolygons.length>0){ //NO ERROR IN geoXml_1.docs[0]
    [.....]
}else{
   [.....]
}
其中
map.asp
返回一个XML:

/service/map.asp

<%
Response.ContentType = "text/xml"
response.write "<?xml version='1.0' encoding='UTF-8'?><kml xmlns='http://earth.google.com/kml/2.0'><Placemark><name>Manfred Mustermann</name><description>Manfred Mustermann</description><Point><coordinates>7.0964850607874,51.781641735074,0</coordinates></Point><address>Musterstr 29 Aachen, 52070 Nordrhein-Westfalen</address><styleUrl>#0</styleUrl></Placemark></kml>"
%>
geoxml真的接受我想要做的事情吗?有可能吗??为什么不呢


谢谢

parse
使用AJAX请求KML文档,您不能在调用parse后立即访问
文档,因为AJAX是异步运行的

使用
afterParse
-回调:

geoXml_1 = new geoXML3.parser(
  {/* options ,*/
   afterParse:function(docs){
     if (docs[0].gpolygons.length>0){ 
        //[.....]
    }else{
        //[.....]
    }
   }
  });

geoXml_1.parse('/service/map.asp');

没关系!!谢谢你是对的。现在我有其他错误,但我会尝试调整到你给我的解决方案。
<%
Response.ContentType = "text/xml"
response.write "<?xml version='1.0' encoding='UTF-8'?><kml xmlns='http://earth.google.com/kml/2.0'><Placemark><name>Manfred Mustermann</name><description>Manfred Mustermann</description><Point><coordinates>7.0964850607874,51.781641735074,0</coordinates></Point><address>Musterstr 29 Aachen, 52070 Nordrhein-Westfalen</address><styleUrl>#0</styleUrl></Placemark></kml>"
%>
geoXml_1.parse('/service/map.asp');
if (geoXml_1.docs[0].gpolygons.length>0){ //ERROR ON FIREBUG: geoXml_1.docs[0] is undefined 
    [.....]
}else{
   [.....]
}
geoXml_1 = new geoXML3.parser(
  {/* options ,*/
   afterParse:function(docs){
     if (docs[0].gpolygons.length>0){ 
        //[.....]
    }else{
        //[.....]
    }
   }
  });

geoXml_1.parse('/service/map.asp');