2014-04-07 44 views
0

我一直試圖通過以下方式在Google地圖中呈現我的KML服務。爲什麼我無法在Google地圖中呈現我的KML服務?

var ctaLayer = new google.maps.KmlLayer({ 
    url: 'http://DomainName/GeoSystem/redrawKML' 
}); 
ctaLayer.setMap(map); 

但我正在逐漸undefined與結果ctaLayer對象當我檢查了狀態。

但是,同樣的服務運行良好,如果我試圖用geoXML解析器解析KML服務。現在,我很困惑,不知道。爲什麼我無法在Google地圖中使用Google地圖KML圖層呈現我的KML服務。

任何幫助,非常感謝。

我的支持代碼與GeoXML庫如下。

var geoXml = new geoXML3.parser({ 
    map : map, 
    singleInfoWindow : true 
}); 
geoXml.parse('http://DomainName/GeoSystem/redrawKML'); 

是我的KML內容將由我休息服務產生以下(http://DomainName/GeoSystem/redrawKML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:ns2="http://www.google.com/kml/ext/2.2" xmlns:ns3="http://www.w3.org/2005/Atom" xmlns:ns4="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"> 
<Document> 
    <name>My KML Document</name> 
    <Placemark> 
     <name>Fort Worth</name> 
     <open>1</open> 
     <description>Fort Worth , Dallas</description> 
     <ExtendedData> 
      <Data name="GeoRegionId"> 
       <value>1</value> 
      </Data> 
      <Data name="PolygonId"> 
       <value>132</value> 
      </Data> 
     </ExtendedData> 
     <Polygon> 
      <outerBoundaryIs> 
       <LinearRing> 
        <coordinates>-97.47551,32.778615 -97.45079,32.79651 -97.437744,32.798242 -97.420578,32.806322 -97.417145,32.813824 -97.34848,32.843251 -97.338867,32.842674 -97.317581,32.838635 -97.292862,32.838058 -97.264709,32.839212 -97.229691,32.840943 -97.207718,32.831135 -97.206345,32.814978 -97.211838,32.802859 -97.212524,32.758985 -97.224884,32.739927 -97.225571,32.716822 -97.240677,32.691977 -97.239304,32.667125 -97.245483,32.661922 -97.281876,32.6625 -97.304535,32.668859 -97.334061,32.663656 -97.380066,32.671749 -97.402725,32.684464 -97.459717,32.683308 -97.47139,32.695444 -97.478943,32.720288 -97.482376,32.741082 -97.47551,32.778615 
        </coordinates> 
       </LinearRing> 
      </outerBoundaryIs> 
     </Polygon> 
    </Placemark> 
</Document> 
</kml> 

回答

1

得到了答案。

如果谷歌地圖API3的KMLLayer必須顯示內容KML File should be in PUBLICALLY ACCESIBLE。然後只有谷歌服務器可以解析該文件,並將呈現在谷歌地圖。

因爲我在本地環境中開發。 Google Server can not parse the KML File which i am providing. That is why the contents are not rendered in the Google maps.

1

你檢查KML limits of Google Maps API v3?如果您超過了功能數量或文件重量的限制,則不會顯示任何內容。

編輯: 我上傳了您的kml到我的公共收件箱文件夾。我正在加載它

var fortw = new google.maps.KmlLayer({  
    url: 'https://dl.dropboxusercontent.com/u/3133731/fortworth.kml', 
    map: map 
}); 
+0

我只是從我的服務渲染單個多邊形。我非常確定,它沒有跨越限制。 – ArunRaj

+0

在這種情況下,請提供真實URL以嘗試自己加載它。 – amenadiel

+0

真的很遺憾地說,我沒有在線服務器分享我的KML文件。最好我會用我的服務輸出更新我的問題。其實我是通過寧靜的服務製作Kml內容的。 – ArunRaj

相關問題