2015-11-30 60 views
0

我有一個在ArcGIS 10.0中創建的KML文件,可以在Google地圖和Google地球中加載,但不會使用Google Map JavaScript API加載。我收到一條消息,指出這是一個無效的KML文件,不幸的是,在線KML驗證工具都無法正常工作。Google Maps API將不會顯示KML圖層

我是KML的新手,有什麼想法可以解決這個問題?這裏是我的KML文件結構:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"><Document id="River Basin"> 
    <name>River Basin</name> 
    <Snippet></Snippet> 
    <Folder id="FeatureLayer0"> 
     <name>River Basin</name> 
     <Snippet></Snippet> 
     <Placemark id="ID_00000"> 
      <name>18010110</name> 
      <Snippet></Snippet>  
      <styleUrl>#PolyStyle00</styleUrl> 
      <MultiGeometry> 
       <Polygon> 
        <extrude>0</extrude><altitudeMode>clampToGround</altitudeMode><tessellate>1</tessellate> 
        <outerBoundaryIs><LinearRing><coordinates> -300.1606990983578,50.39764575695928,etc</coordinates></LinearRing></outerBoundaryIs> 
       </Polygon> 
      </MultiGeometry> 
     </Placemark> 
    </Folder> 
    <Style id="PolyStyle00"> 
     <LabelStyle> 
      <color>00000000</color> 
      <scale>0.000000</scale> 
     </LabelStyle> 
     <LineStyle> 
      <color>ff0000ff</color> 
      <width>2.000000</width> 
     </LineStyle> 
     <PolyStyle> 
      <color>00f0f0f0</color> 
      <outline>1</outline> 
     </PolyStyle> 
    </Style> 
    </Document> 
</kml> 

謝謝

喜悅

回答

2

您的KML的結構是無效的。如果Google地圖API不正確,則可能會遇到問題,因此首先需要將其設置爲有效的KML文件。

在KML spec中Document的正確結構是

<Document id="ID"> 
    <!-- inherited from Feature element --> 
    <name>...</name> 
    ... 
    <Style>..</Style> or <styleUrl>...</styleUrl> 

    <!-- specific to Document --> 
    <!-- 0 or more Schema elements --> 
    <!-- 0 or more Feature elements --> 
</Document> 

嘗試<Folder>元件之前移動所述元素<Style>。這將使其成爲有效的KML文件。

每當遇到與KML相關的問題時,建議先使用KML validatorFeed Validator對其進行驗證。首先修復KML錯誤,然後解決其他錯誤。

+0

謝謝你的建議,不幸的是,沒有解決問題。 Joy –

+0

我發現了另一個錯誤,這個修復與你的修復一起使它工作!好極了!謝謝! –

+1

@JoyLabadie請發表最終答案以供參考。 – steenhulthin

0

建議將樣式元素放置在文件夾元素上方 - 謝謝!

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"><Document id="River Basin"> 
<name>River Basin</name> 
<Snippet></Snippet> 
<Style id="PolyStyle00"> 
    <LabelStyle> 
     <color>00000000</color> 
     <scale>0.000000</scale> 
    </LabelStyle> 
    <LineStyle> 
     <color>ff0000ff</color> 
     <width>2.000000</width> 
    </LineStyle> 
    <PolyStyle> 
     <color>00f0f0f0</color> 
     <outline>1</outline> 
    </PolyStyle> 
</Style> 
<Folder id="FeatureLayer0"> 
    <name>River Basin</name> 
    <Snippet></Snippet> 
    <Placemark id="ID_00000"> 
     <name>18010110</name> 
     <Snippet></Snippet>  
     <styleUrl>#PolyStyle00</styleUrl> 
     <MultiGeometry> 
      <Polygon> 
       <extrude>0</extrude><altitudeMode>clampToGround</altitudeMode><tessellate>1</tessellate> 
       <outerBoundaryIs><LinearRing><coordinates> -300.1606990983578,50.39764575695928,etc</coordinates></LinearRing></outerBoundaryIs> 
      </Polygon> 
     </MultiGeometry> 
    </Placemark> 
</Folder>  
</Document> 
</kml>