代码之家  ›  专栏  ›  技术社区  ›  Jeff Storey

在谷歌地球上,我如何使用图像覆盖整个地球?

  •  0
  • Jeff Storey  · 技术社区  · 16 年前

    我正试图在谷歌地球上覆盖一张地图。图像是否需要一定的尺寸?

    2 回复  |  直到 14 年前
        1
  •  4
  •   GEOCHET S.Lott    16 年前

    你可以通过制作一个kml文件在谷歌地球上生成图像。在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 Tutorial
    KML Tutorial - Ground Overlays
    Image Overlay Creator for Google Earth - Google Earth Blog

        2
  •  0
  •   barrycarter    14 年前

    事实上,把西面设为-180,把东面设为180并不管用,但是 -179.99和179.99工作。其他问题:

    • 我创建了一个只有一个像素的1024x512透明图像 (256128)“点亮”。正如你所看到的 在 http://test.barrycarter.info/gmap17.php ,亮像素(近 Wausau,WI,USA)大约是附近两个城市的大小 明尼阿波利斯和圣保罗。

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

    • 地面覆盖层是可点击的(我找不到一种方法来转换它 关闭),所以如果你点击地图进行缩放,你会很恼人 弹出窗口。使用磅秤很好。

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

    另一方面,放置太多的地面覆盖层会使地图 渲染速度非常慢。谷歌可能会呈现KML地图本身, 但我认为地面覆盖层仍然是“img-src”的。

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

    编辑:由于谷歌地图在2级显示了整个世界,并且缩放到20级,所以如果您的像素是整个地图的大小,那么您最终需要在每个方向上使用2^18==262144像素。这是4096x4096的4096张图像,或者说是6870亿像素。当然,如果你不需要20级变焦,你可以减少很多。

    推荐文章