问题描述
我见过可以在 Google 地球中将位图显示为垂直轮廓的示例。像这样:
但是,我找不到任何 kml/kmz 示例。有没有人有一个简单的例子来说明如何做到这一点?
解决方法
执行此操作的一种方法是使用 KML“照片叠加”。它们旨在将风景照片垂直放置在世界中,以便可以将地球地形和图像作为匹配背景进行查看。您可以使用该技术将这些图像放置在垂直平面上。地球专业版中有一个基本工具可用于创建照片叠加层(添加菜单 >> 照片)。或者您可以通过编写适当的 KML(下面的参考链接)手动或以编程方式创建它们,尽管它可能会因所有放置和视野参数而变得非常复杂。另请注意,照片叠加层适用于 Google 地球专业版 (Earth v7.x),但目前不适用于网页版和移动版 Google 地球 (Earth v9.x)。
您也可以使用 3D 模型(是的,基于 collada)来执行此操作,其中您有一个模型来表示您的垂直平面,并将图像作为模型上的纹理。 3D 模型目前也只能在 Google 地球专业版中使用。哪种技术更容易取决于您可用的工具和技能。
https://developers.google.com/kml/documentation/photos https://developers.google.com/kml/documentation/kmlreference#photooverlay
,我的 PhotoOverlay 示例就在这里。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
<Document id="7">
<visibility>0</visibility>
<PhotoOverlay id="8">
<name>PhotoOverlay Test</name>
<visibility>0</visibility>
<Camera>
<longitude>-122.3599987260313</longitude>
<latitude>47.62949781133496</latitude>
<altitude>100</altitude>
<heading>-90</heading>
<tilt>90</tilt>
<roll>0</roll>
</Camera>
<Icon id="10">
<href>foo.png</href>
</Icon>
<ViewVolume>
<leftFov>-45</leftFov>
<rightFov>45</rightFov>
<bottomFov>-45</bottomFov>
<topFov>45</topFov>
<near>20000</near>
</ViewVolume>
</PhotoOverlay>
</Document>
</kml>