我有一个与“小”测试文件很好地工作的谷歌地图混搭 - 即使对于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