0

我一直在通过其导出功能从 Mass GIS 服务中提取 KML 文件:http: //maps.massgis.state.ma.us/map_ol/oliver.php

例如,每平方英里人口密度的 KML 输出在导出时如下所示:http: //evrkusd.fatcow.com/populationpersquaremile.kml

我尝试将其添加到我的 Google 地图中,但没有显示任何内容,尽管此代码适用于其他来源的其他 kml 文件。 var NewLayer = new google.maps.KmlLayer('http://evrkusd.fatcow.com/populationpersquaremile.kml'); NewLayer.setMap(map);

我了解到某些 kml 标签已过时或未被 Google Maps API 接受。

有没有人能让这个文件为他们工作?有什么想法可以(最好是轻松地)更新此文件以使用 Google 地图吗?我将使用多个这样的 KML 文件,所以我希望我能做一个相当快速的修复。

4

2 回答 2

1

您的 KML 文件仍然太大:

http://www.geocodezip.com/geoxml3_test/v3_geoxml3_kmltest_linktoB.html?filename=http://www.geocodezip.com/geoxml3_test/populationpersquaremile.kml

如果您单击“加载 KmlLayer”按钮,它将通过尝试在 KmlLayer 中加载该文件来显示状态返回:

Kml 状态:DOCUMENT_TOO_LARGE

您的“部分”KML 文件不是有效的 xml,如果我使您发布的文件有效它可以与 geoxml3 一起使用,但 Google Maps API v3 KmlLayer 仍然说它太大了。

请参阅文档,原始 KML 文件的最大获取大小为 3M,您的文件为 7M+。

于 2013-09-19T22:41:00.957 回答
0

Fusion Tables 可以处理比客户端地图大得多的 KML,总计高达 100MB(尽管某些限制适用于要素)。所以这可能是一个解决方案。

于 2013-09-20T00:15:33.570 回答