我正在尝试理解KML地面叠加教程,其中以以下代码为例:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Folder>
<name>Ground Overlays</name>
<description>Examples of ground overlays</description>
<GroundOverlay>
<name>Large-scale overlay on terrain</name>
<description>Overlay shows Mount Etna erupting
on July 13th, 2001.</description>
<Icon>
<href>https://developers.google.com/kml/documentation/images/etna.jpg</href>
</Icon>
<LatLonBox>
<north>37.91904192681665</north>
<south>37.46543388598137</south>
<east>15.35832653742206</east>
<west>14.60128369746704</west>
<rotation>-0.1556640799496235</rotation>
</LatLonBox>
</GroundOverlay>
</Folder>
</kml>
没有 API 密钥编号,因此我假设此 KML 旨在与某种地图结合使用。
我将 kml 保存到一个可公开访问的文件中:https://drive.google.com/file/d/0Bx17tEcqrzavTlc4ZHVmNFgyM1k/view?usp=sharing
当然,我必须制作一个嵌入的地图,并引用这个kml文件。
https://developers.google.com/maps/documentation/embed/guide这里的第一个示例使用 iframe,它使用放置模式,我不想要。
<iframe
width="600"
height="450"
frameborder="0" style="border:0"
src="https://www.google.com/maps/embed/v1/place?key=YOUR_API_KEY
&q=Space+Needle,Seattle+WA" allowfullscreen>
</iframe>
查看模式似乎是上述链接选项中最合适的。
https://www.google.com/maps/embed/v1/view
?key=YOUR_API_KEY
¢er=-33.8569,151.2152
&zoom=18
&maptype=satellite
显然,这需要重新集中到埃特纳火山,以及我的 API 密钥:
ttps://www.google.com/maps/embed/v1/view
?key=AIzaSyCrzeJMzJcHGCZj26Y9tHhmkSQ1zzJi8o0
¢er=37.91904192681665,15.35832653742206
&zoom=14
&maptype=satellite
它需要放在 iframe 中吗?
如何组合这两个代码块来创建嵌入在我的网站中的 kml 地图叠加层?
有没有办法在不使用Java的情况下做到这一点?
KML 文件不会直接在 Web 上呈现...它需要在某些地图上渲染。 自己查看 KML 文件的最简单方法是使用 Google 地球打开它。如果你想把它放在网络上,一个简单的方法是使用谷歌地图JavaScript API在你的网站上嵌入地图,然后使用KmlLayer函数将KML文件添加到地图中。 详细信息和示例代码在此处的文档中:https://developers.google.com/maps/documentation/javascript/kml
请注意,您在Google云端硬盘上拥有的KML文件的副本不会直接在地球或其他任何地方打开您提供的网址,因为它会将您带到该文件的Google云端硬盘页面。相反,您希望在云端硬盘上为该文件生成直接下载网址,或将其放在其他位置。