Google Maps API V3:KML图层没有显示?

Pau*_*del 1 javascript kml google-maps-api-3

我有一个KML文件,我将其复制/粘贴在一起形成一个看起来像这样的fusiontable:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<Polygon><outerBoundaryIs><LinearRing><coordinates>-73.992177,40.743465,0.0 -74.008242,40.752352,0.0 -74.006533,40.756112,0.0 -73.983973,40.748934,0.0 -73.987733,40.744149,0.0 -73.992177,40.743465,0.0</coordinates></LinearRing></outerBoundaryIs></Polygon>
<Polygon><outerBoundaryIs><LinearRing><coordinates>-73.973035,40.689458,0.0 -73.989784,40.683305,0.0 -74.008242,40.686381,0.0 -73.978846,40.705181,0.0 -73.977479,40.698003,0.0 -73.973035,40.689458,0.0</coordinates></LinearRing></outerBoundaryIs></Polygon>
(...)
</Document>
</kml>
Run Code Online (Sandbox Code Playgroud)

据我所知,在地图上绘制这些就像这样简单

var zipoverlay = new google.maps.KmlLayer('zips.kml');
zipoverlay.setMap(map);
Run Code Online (Sandbox Code Playgroud)

但显然这没有任何作用.它不像我想象的那么神奇吗?

谢谢!

Pau*_*del 9

感谢Dr.Molle,我们想出了这一点.这就是我做错了:

  1. 需要从我自己的机器外部访问KML文件.将它托管在其他地方,以便地图能够抓住它
  2. KML文件的结构必须如下所示:

`

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
<Document>
<Placemark>
<Polygon><outerBoundaryIs><LinearRing><coordinates>-73.992177,40.743465,0.0 -74.008242,40.752352,0.0 -74.006533,40.756112,0.0 -73.983973,40.748934,0.0 -73.987733,40.744149,0.0 -73.992177,40.743465,0.0</coordinates></LinearRing></outerBoundaryIs></Polygon></Placemark>
<Placemark><Polygon><outerBoundaryIs><LinearRing><coordinates>-73.973035,40.689458,0.0 -73.989784,40.683305,0.0 -74.008242,40.686381,0.0 -73.978846,40.705181,0.0 -73.977479,40.698003,0.0 -73.973035,40.689458,0.0</coordinates></LinearRing></outerBoundaryIs></Polygon>
</Placemark>
</Document></kml>
Run Code Online (Sandbox Code Playgroud)

  • 对于发现这一点的其他人来说,上面的例子中有一些错误,还有一些谬误.没有必要以建议的方式删除空格.此外,上面的示例在文档顶部上方有关闭标记而不是上面的打开标记. (2认同)