2012-11-16 2 views
5

Google 어스의 animated update 기능을 사용하여 상당히 완성되었으며이를 사용하여 models을 이동합니다. 내가 정말로하고 싶은 것은 Google 어스에서 line (예 : 위아래) 애니메이션을 적용 할 수 있지만이 까다로운 발견입니다.kml을 사용하여 Google 어스의 라인에 애니메이션 적용

시작시의 경도와 위도가 있습니다. 예를 들어 라인의 좌표는 다음과 같습니다

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

난을 5 초 동안 500의 고도까지이 라인의 raise 한 끝에 원하는 .

내가 사용하는 라인 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> 

하지만 임 지금 확인 500

임 쉬운 100에서 한쪽 끝을 위로 이동하려면 <gx:AnimatedUpdate>를 사용하는 방법으로 손실 - 수를 누군가가 올바른 방향으로 나를 가리 킵니까 ??

답변

5

트릭은 위치 표시 대신 LineString 요소를 업데이트하는 것입니다 (그 위에 ID가 있음).

다음은 상대 고도 100m에서 500m까지 변화하는 선을 움직이는 KML 예제 투어입니다.

<?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

+0

질문 대답, 많은 감사를 참조하십시오 – user1829877