我有一个 KML 文件,其中包含一些从应用程序输出的多边形(不确定是哪一个)。当我尝试加载 xml 时,它似乎加载正常但不返回任何地标,只是一个空数组。
我已将 JS 简化为仅用于测试以下内容:
var map = new google.maps.Map(document.getElementById('gmap'), {
center: new google.maps.LatLng(51.503355, -0.127564),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var geoxml = new geoXML3.parser({
map : map,
singleInfoWindow : false,
afterParse: useTheData
});
geoxml.parse('placemarks.kml');
function useTheData(doc) {
console.log(doc[0].placemarks);
for (var i = 0; i < doc[0].placemarks.length; i++) {
console.log( doc[0].placemarks[i].name );
}
};
当我记录地标对象时,我只是在控制台中得到 [] 。文件错了吗?
我已将以下内容添加到我的 .htaccess
AddType application/vnd.google-earth.kml+xml .kml
并将 GeoXML.fetchXML 替换为以下内容(因为我得到“无法检索 placemarks.kml”)
geoXML3.fetchXML = function (url, callback) {
function timeoutHandler() {
callback();
};
$.ajax({
type: "GET",
cache: false,
url: url,
success: function(xml) {
callback(xml);
}
});
};