我有一個與「小」測試文件很好地工作的谷歌地圖混搭 - 即使對於60英里的旅行,我生成的每個文件都小於16k。加載KML文件但不顯示 - 爲什麼不?
然後,昨天,用戶發給我一個他們遇到問題的KML文件 - 它的大小超過了360k,並且上傳時沒問題,當我調用GGeoXML()時,它似乎可以加載到Google Maps中,但不會顯示地圖,並且日誌中會顯示錯誤「腳本錯誤。(main.js,0)」。這發生在我自己的應用程序中,並且如果我嘗試將kml文件提供給Google的「Code Playground」 - 但該文件在Google地球中正常加載。如果我將文件從Google地球重新保存爲kmz格式,那也可行 - 但由於該文件不再是XML格式,因此我喪失了我的mashup的某些「增值」功能。
我掃描了Google文檔,但找不到任何有關kml文件最大文件大小的參考。
有什麼建議嗎?
下面是一個代碼片段,導致在代碼遊樂場問題:
var map;
function zoomToGeoXML(geoXml) {
var center = geoXml.getDefaultCenter();
var span = geoXml.getDefaultSpan();
var sw = new GLatLng(center.lat() - span.lat()/2,
center.lng() - span.lng()/2);
var ne = new GLatLng(center.lat() + span.lat()/2,
center.lng() + span.lng()/2);
var bounds = new GLatLngBounds(sw, ne);
map.setCenter(center);
map.setZoom(map.getBoundsZoomLevel(bounds));
}
function initialize() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map_canvas"));
var geoXml = new GGeoXml("http://(my base url)/files/gps/expr.kml",
function() { zoomToGeoXML(geoXml); });
map.addOverlay(geoXml);
}
}
謝謝 - 我一直在檢討的組,我要發佈同樣的信息在那裏。我懷疑用戶軌跡記錄中的點數可能存在問題 - 我測試的GPS每隔幾百碼就記錄一個位置,他似乎以該分辨率的8-16倍記錄。 – 2009-07-06 17:30:36