我已经通过 url 将 6 个 kml 层加载到我的网站,以便通过复选框来关闭/打开。不过我最近注意到,它只允许我在给定时间显示 4 kml。当我选择超过 4 个时,第 5 个和第 6 个不显示。我选择什么并不重要,它似乎限制我只显示 4。有人可以指导我可能导致这种情况的原因还是我应该以其他方式编码?kml 本身可以工作并且小于 800kb。似乎很奇怪,我在给定时间只能显示 4 kml。
这是网站 - www.gbnrtc.org/bikemap
我已经通过 url 将 6 个 kml 层加载到我的网站,以便通过复选框来关闭/打开。不过我最近注意到,它只允许我在给定时间显示 4 kml。当我选择超过 4 个时,第 5 个和第 6 个不显示。我选择什么并不重要,它似乎限制我只显示 4。有人可以指导我可能导致这种情况的原因还是我应该以其他方式编码?kml 本身可以工作并且小于 800kb。似乎很奇怪,我在给定时间只能显示 4 kml。
这是网站 - www.gbnrtc.org/bikemap
如果您查看KML 支持页面,其中列出了为 Google 地图和移动版 Google 地图提供的 KML 支持级别,它列出了以下大小和复杂性限制:
假设您估计文件大小约为 800K,那么您的四个文件大约需要 3.2 MB。在不了解您的 KML 内容的更多信息的情况下,加载四个后限制将关闭您似乎是有道理的。
这个答案很老了。我找到了一个很棒的库来加载大型 KML/KMZ 文件(即使 Google 抛出错误)。请注意,图书馆很旧,还没有收到任何更新。
以下是有关它的更多详细信息:
使用GeoXML,我能够成功地将所有必需的 KML 添加到地图中!https://github.com/geocodezip/geoxml3
第 1 步:下载并包含 geoxml3.js 脚本
<script src="geoxml3.js"></script> // include after google map api script
步骤 2:在 JS 中实例化和初始化对象:
var myParser = new geoXML3.parser({map: map});
myParser.parse('/path/to/data.kml');
这将加载 KMl 文件。