首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ASP文件解析KML或XML的GeoXml3错误

从ASP文件解析KML或XML的GeoXml3错误
EN

Stack Overflow用户
提问于 2014-04-15 09:52:59
回答 1查看 889关注 0票数 1

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

KML版本(OK)

代码语言:javascript
复制
geoXml_1.parse('kmlFile.kml');
if (geoXml_1.docs[0].gpolygons.length>0){ //NO ERROR IN geoXml_1.docs[0]
    [.....]
}else{
   [.....]
}

XML字符串

代码语言:javascript
复制
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{
   [.....]
}

但是,如果我使用asp文件来编写xml,它就不能正常工作。我得到一个javascript错误:

代码语言:javascript
复制
geoXml_1.parse('/service/map.asp');

其中,map.asp返回一个XML:

/service/map.asp

代码语言:javascript
复制
<%
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>"
%>

对于firebug,输出是可以的。我可以看到xml,但这里出现了错误:

代码语言:javascript
复制
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真的接受我想做的事吗?有可能吗??为什么不行?

谢谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-15 10:43:59

parse使用AJAX请求KML-文档,在调用解析后不能立即访问docs,因为AJAX异步运行。

使用afterParse-callback:

代码语言:javascript
复制
geoXml_1 = new geoXML3.parser(
  {/* options ,*/
   afterParse:function(docs){
     if (docs[0].gpolygons.length>0){ 
        //[.....]
    }else{
        //[.....]
    }
   }
  });

geoXml_1.parse('/service/map.asp');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23080257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档