gpt4 book ai didi

javascript - KML 文件加载但不显示 - 为什么不呢?

转载 作者:行者123 更新时间:2023-11-28 14:06:18 25 4
gpt4 key购买 nike

我有一个 google-maps mashup,它可以很好地处理“小”测试文件 - 我生成的每个文件,即使是 60 英里的旅行,也小于 16k。

然后,昨天,一位用户向我发送了一个他们遇到问题的 KML 文件 - 它的大小超过 360k,虽然它可以上传,但当我调用 GGeoXML() 时,它似乎可以正常加载到 Google map 中,但是没有 map 出现,并且日志中出现错误“脚本错误。(main.js,0)”。这种情况在我自己的应用程序中以及如果我尝试将 kml 文件提供给 Google 的“Code Playground”时都会发生 - 但该文件在 Google Earth 中加载良好。如果我将 Google 地球中的文件重新保存为 kmz 格式,这也是可行的 - 但由于该文件不再是 XML,因此我会失去混搭的一些“增值”功能。

我已扫描了 Google 文档,但找不到任何有关 kml 文件最大文件大小的引用。

有什么建议吗?

这是在代码 Playground 中导致问题的代码片段:

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);
}
}

最佳答案

如果重新排列 Mike 示例中的几行,您就可以消除“在放大到 kml 文件定义的区域之前 map 最初是整个地球的副作用。”

var map;

function loadMapAndZoomToGeoXML(geoXml) {
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 = new GMap2(document.getElementById("map_canvas"));
map.setCenter(center);
map.setZoom(KmlMap.getBoundsZoomLevel(bounds));
map.addOverlay(geoXml);
map.enableScrollWheelZoom();
map.setUIToDefault();
map.addControl(new GLargeMapControl());
}

function initialize() {
if (GBrowserIsCompatible()) {
var geoXml = new GGeoXml("http://(my base url)/files/gps/expr.kml", function() { loadMapAndZoomToGeoXML(geoXml); });
}
}

不幸的是,它占用了加载 map 、缩放 map 和居中 map 的业务,但这可以进一步重构。我想尽可能坚持迈克给出的例子。

关于javascript - KML 文件加载但不显示 - 为什么不呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1087785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com