繁体   English   中英

Google Maps API V3:KML图层未显示?

[英]Google Maps API V3: KML Layer not showing?

我有一个KML文件,可以将其复制/粘贴在一起以形成一个融合表,如下所示:

<?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>

据我了解,将它们绘制在地图上就像

var zipoverlay = new google.maps.KmlLayer('zips.kml');
zipoverlay.setMap(map);

但这显然无济于事。 它不像我想的那样神奇吗?

谢谢!

多亏了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>

<Polygon/>必须是<Placemark/><MultiGeometry/> ,但不能是<Document/>

我的错误是在服务器上启用了HTTP身份验证,这阻止了Google请求KML文件。 我猜它还没有做客户端。

我遇到了此类问题(kml层未显示),因为网址(或可能只是文件名)太长。 使用较短的网址可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM