如何创建 KML 地图叠加层



我正在尝试理解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
  &center=-33.8569,151.2152
  &zoom=18
  &maptype=satellite

显然,这需要重新集中到埃特纳火山,以及我的 API 密钥:

ttps://www.google.com/maps/embed/v1/view
  ?key=AIzaSyCrzeJMzJcHGCZj26Y9tHhmkSQ1zzJi8o0
  &center=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云端硬盘页面。相反,您希望在云端硬盘上为该文件生成直接下载网址,或将其放在其他位置。

最新更新