0

我正在尝试在 Google 地球中覆盖整个地球的地图。图像是否需要特定尺寸?

4

2 回答 2

4

您可以通过制作 KML 文件在 Google 地球中生成图像。在 KML 文件中GroundOverlay,您可以使用一个标签来实现您的目标,如下所示:

<?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>http://code.google.com/apis/kml/documentation/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>

以下是一些链接,可帮助您了解 kml 文件和图像叠加层:

KML 教程
KML 教程 - Google 地球的地面叠加
图像叠加创建器 - Google 地球博客

于 2009-08-04T13:17:09.643 回答
0

实际上,将西设置为 -180 并将东设置为 180 并不完全有效,但 -179.99 和 179.99 确实有效。其他问题:

  • 我创建了一个只有一个像素(256,128)“点亮”的 1024x512 透明图像。正如您在http://test.barrycarter.info/gmap17.php中看到的那样,点亮像素(靠近美国威斯康星州沃索)的大小与附近的明尼阿波利斯和圣保罗双城差不多。

  • 如果在某个点之后放大,像素就会神秘地消失。

  • GroundOverlays 是可点击的(我找不到关闭它的方法),所以如果你点击地图进行缩放,你会得到一个烦人的弹出窗口。使用秤效果很好。

  • 我还在 http://test.barrycarter.info/gmap18.php创建了一个 2048x1024 透明图像,其中一个像素点亮,但即使那个像素也太大了。更高分辨率的加载速度也明显变慢。

另一方面,放置过多的地面叠加层会使地图渲染变得非常缓慢。谷歌可能会自己渲染 KML 地图,但我认为地面叠加层仍然是“img src”。

这里的圣杯是找到分辨率和图像数量的正确组合:例如,64 张图像,每张图像覆盖地球的 1/64。

编辑:由于谷歌地图以 2 级显示整个世界,并缩放至 20 级,因此您最终需要在每个方向上 2^18==262144 像素,前提是您的像素是整个地图在 lavel 20 缩放时的大小. 这是 4096 张图像,每张 4096x4096 或 68.7 千兆像素。当然,如果您不需要 20 级缩放,则可以减少很多。

于 2011-04-17T00:08:40.167 回答