5

我非常擅长使用animated update谷歌地球的功能,并且正在使用它来移动models。我真正想做的是能够line在谷歌地球中为一个(例如上下)设置动画,但我发现这很棘手。

我在开始时有这条线的经度和纬度。例如线坐标是:

-88,17,100 -88.20270841086835,17.21899813162266,100

然后我想在raise5 秒内将这条线的一端上升到 500 的高度。

我已经使用LineString

<Placemark id="path1">
    <name>Untitled Path man</name>
    <LineString>
        <tessellate>1</tessellate>
        <coordinates>
            -88.,17,100 -88.20270841086835,17.21899813162266,100 
        </coordinates>
    </LineString>
</Placemark>

但是我现在不知道如何使用<gx:AnimatedUpdate>将一端从 100 移动到 500。

我确定这很容易 - 有人能指出我正确的方向吗?

4

1 回答 1

5

诀窍是更新 LineString 元素(上面带有 id)而不是 Placemark。

这是一个有效的 KML 示例导览,它对从 100 到 500m 的相对高度变化的线进行动画处理。

<?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>
        <name>gx:AnimatedUpdate example</name>
        <open>1</open>

        <LookAt>
            <longitude>-88.1351880996469</longitude>
            <latitude>17.09943637744042</latitude>
            <altitude>0</altitude>
            <heading>49.91874373078863</heading>
            <tilt>84.43764019949967</tilt>
            <range>1929.311316966288</range>
            <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
        </LookAt>

        <Placemark>
            <name>Untitled Path man</name>
            <LineString id="path1">
                <tessellate>1</tessellate>
                <altitudeMode>relativeToGround</altitudeMode>
                <coordinates>
            -88,17,100 -88.20270841086835,17.21899813162266,100
                </coordinates>
            </LineString>
        </Placemark>

        <gx:Tour>
            <name>Play me!</name>
            <gx:Playlist>
                <gx:AnimatedUpdate>
                    <gx:duration>5</gx:duration>
                    <Update>
                        <targetHref/> <!-- Left empty to refer to the current file -->
                        <Change>                          
                            <LineString targetId="path1">
                                <coordinates>
                                    -88,17,100 -88.20270841086835,17.21899813162266,500             
                                </coordinates>                          
                            </LineString>
                        </Change>
                    </Update>
                </gx:AnimatedUpdate>

                 <!-- Wait for the animation to complete (see the touring
                 tutorial for an explanation of how AnimatedUpdate's
                 duration isn't enough to guarantee this). -->
                <gx:Wait>
                  <gx:duration>5.0</gx:duration>
                </gx:Wait>
            </gx:Playlist>
        </gx:Tour>
    </Document>
</kml>

有关详细信息,请参阅https://developers.google.com/kml/documentation/touring#tourtimelines

于 2012-11-16T20:17:24.110 回答