試圖在我的應用程序中加載下面的KML文件。我可以從瀏覽器本身訪問該文件。但該文件不在谷歌地圖中呈現。試圖檢查KML圖層狀態,得到一個奇怪的結果爲「undefined」。我不知道我錯過了什麼。請幫助我使用Google地圖研究KML圖層。無法加載我本地服務器中的kml文件?
有趣的事實: KML層在谷歌地圖被渲染,如果我用谷歌的KML網址http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml。我不知道爲什麼谷歌地圖從谷歌服務器呈現KML層。以及爲什麼它不從我的服務器呈現KML圖層(http://www.mylocalIPAddress.com/WebModule/polygon.kml)。但我確定沒有任何東西阻止我的KML文件。如果我在瀏覽器中擊中了URL。我可以查看該文件。所以沒有任何東西阻止文件。但不知道爲什麼我不能加載我的kml文件。
KML文件:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<ScreenOverlay>
<name>Absolute Positioning: Top left</name>
<Icon>
<href>http://developers.google.com/kml/documentation/images/top_left.jpg</href>
</Icon>
<overlayXY x="0" y="1" xunits="fraction" yunits="fraction"/>
<screenXY x="0" y="1" xunits="fraction" yunits="fraction"/>
<rotationXY x="0" y="0" xunits="fraction" yunits="fraction"/>
<size x="0" y="0" xunits="fraction" yunits="fraction"/>
</ScreenOverlay>
</kml>
的JavaScript:
google.maps.visualRefresh = true;
var map;
function initialize() {
// Specifies the google Map properties
map = new google.maps.Map(document.getElementById('map-canvas'), {
zoom : 3,
center : new google.maps.LatLng(0, 0),
mapTypeId : google.maps.MapTypeId.ROADMAP
});
var layer = new google.maps.KmlLayer('http://www.mylocalIPAddress.com/WebModule/polygon.kml');
layer.setMap(map);
console.log(layer.getStatus());
}
google.maps.event.addDomListener(window, 'load', initialize);
**特別提示:** 當檢查谷歌鏈接的響應,我有以下
_xdc_._nox6ih && _xdc_._nox6ih([0,"kml:cOyYrFGigX5u4USCpzso8ggEWKR7NP4TNfjRaORI","|ks:;dc:tb;ts:46343661|kv:3|api:3",["Chicago Transit Map","Chicago Transit Authority train lines","Chicago Transit Authority train lines"],[[41.721877,-87.8929],[42.072787,-87.606048]],[["gfd29185067c55f5f"],["g5e295bda04f08836"],["ga24949030bee7e8c"],["g55e98e4a4c0ba15f"],["g51d583df1e7a5451"],["g72b37441838ae58e"],["g4da782bd5142613c"],["ge63204f1f8e4087a"]],1,[["client","2"]],42,[["ks",";dc:tb;ts:46343661"],["kv","3"],["api","3"]]])
當我檢查了我的服務器的響應再次,我有以下
_xdc_._ghavva && _xdc_._ghavva([0,null,null,null,null,null,4,[["client","2"]]])
我不知道爲什麼我的反應越來越空。我相信由於空響應,Google地圖無法呈現KML文件。
*因此沒有任何東西阻止文件* 您如何確定? **這文件必須公佈向所有用戶。** 您可以從計算機上加載此文件,並不意味着每個人都可以訪問此文件。 檢查你的防火牆設置,通常防火牆應該阻止這樣的請求(但可能允許他們從你自己的網絡) –