Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
使用geoxml3解析_Xml_Google Maps Api 3_Xml Parsing_Overlay_Kml - Fatal编程技术网

使用geoxml3解析

使用geoxml3解析,xml,google-maps-api-3,xml-parsing,overlay,kml,Xml,Google Maps Api 3,Xml Parsing,Overlay,Kml,我希望能够使用geoxml3将图层覆盖到地图上。我一直在努力理解可能出现的问题,因为它对点很有效,但对于多边形和线串,它什么也不显示。虽然它似乎正在通过geoxml3解析器,因为缩放是根据数据进行调整的,但不会显示任何内容 我尝试过的geoxml3的所有三个版本都是相同的结果 下面是我的linestring kml文件。请注意,该文件在谷歌地图和谷歌地球上运行良好 <?xml version="1.0" encoding="utf-8"?> <kml xmlns="http:/

我希望能够使用geoxml3将图层覆盖到地图上。我一直在努力理解可能出现的问题,因为它对点很有效,但对于多边形和线串,它什么也不显示。虽然它似乎正在通过geoxml3解析器,因为缩放是根据数据进行调整的,但不会显示任何内容

我尝试过的geoxml3的所有三个版本都是相同的结果

下面是我的linestring kml文件。请注意,该文件在谷歌地图和谷歌地球上运行良好

<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <Name>route</Name>
    <Placemark>
      <Style>
        <LineStyle>
          <color>ff0000ff</color>
        </LineStyle>
      </Style>
      <LineString>
        <coordinates>14.5077989214673,35.8935010311257 14.5077613878199,35.8935045284545 14.5077103878199,35.8935219284544 14.5076594878199,35.8935697284545 14.5076594878199,35.8935697284545 14.506821184327,35.894410303289 14.5066562791164,35.8947140342037 </coordinates>
      </LineString>
    </Placemark>
  </Document>
</kml>

路线
ff0000ff
14.5077989214673,35.8935010311257 14.5077613878199,35.8935045284545 14.5077103878199,35.8935219284544 14.5076594878199,35.8935697284545 14.5076594878199,35.8935697284545 14.506821184327,35.894410303289 14.5066562791164,35.8947140342037 
下面是处理解析的javascript方法

function displayKml() {
    geo = new geoXML3.parser({
        map: map,
        zoom: true,
        singleInfoWindow: true        
    });
    geo.parse("Uploads/" + document.getElementById('<%= text2.ClientID %>').value);
}
函数displayKml(){
geo=新的geoXML3.0语法分析器({
地图:地图,
真的,
singleInfoWindow:true
});
parse(“Uploads/”+document.getElementById(“”).value);
}
非常感谢您的帮助,因为我已经花了三天时间试图解决这个问题。

您KML中的
没有宽度

  <Style>
    <LineStyle>
      <color>ff0000ff</color>
    </LineStyle>
  </Style>

ff0000ff
加:


1.
ff0000ff
geoxml3的polys分支当前没有默认宽度(因此它是零,这意味着您看不到它):

不带宽度的多边形分支:

具有宽度的多边形分支:

geoxml3的kmz分支确实有一个默认的宽度,这应该是有效的:

kmz分行与您的原始KML:


修复了这个问题(因此上面的示例都有效,不再显示问题)

我认为问题在于其他原因,因为地图正在缩放线条字符串应该出现的位置,但地图上仍然没有显示任何内容。我真的不知道是什么问题@geocodeziptgeomml3的polys分支在我上面的例子中就是这样使用您的KML的,直到我从kmz分支移植了“默认样式”处理。他们现在都在你的KML中为我工作(kmz分支一直在你的KML中为我工作)。它在你发布的代码中为我工作-
  <Style>
    <LineStyle>
      <width>1</width> 
      <color>ff0000ff</color>
    </LineStyle>
  </Style>