прямое движение камеры в плагине Google Earth через Internet Explorer COM - PullRequest
0 голосов
/ 08 июля 2011

У меня проблема с имитацией прямой линии в плагине Google Планета Земля. Чтобы имитировать прямую линию, я вызываю метод JavaScript в документе HTML из MATLAB через COM. (MATLAB как COM-клиент и Internet Explorer как COM-сервер)

Код JavaScript ниже:

function UpdateCamera(lat,lon,alt,bearing,pitch,roll) {
  var camera = ge.getView().copyAsCamera(ge.ALTITUDE_ABSOLUTE);

  // set the camera values         
  camera.setLatitude(lat);
  camera.setLongitude(lon);
  camera.setAltitude(alt);
  camera.setHeading(bearing);
  camera.setTilt(pitch);
  camera.setRoll(roll);

  // Set the FlyTo speed
  ge.getOptions().setFlyToSpeed(ge.SPEED_TELEPORT);

  // Update the view in Google Earth  
  ge.getView().setAbstractView(camera);
}

И для вызова метода JavaScript я использую это в MATLAB:

for i=1:iend
    h.Document.parentWindow.execScript(['tickAnimation(' num2str(cood(i,1)) ',' ...
                                                    num2str(cood(i,2)) ',' ... 
                                                    num2str(cood(i,3)) ',' ...
                                                    num2str(70) ',' ...
                                                    num2str(90) ',' ...
                                                    num2str(0) ');'] , 'JavaScript');

pause(0.01)

end

Я получаю широту и долготу от расстояния, которое является результатом симуляции. Используя формулу здесь http://www.movable -type.co.uk / scripts / latlong-vincenty-direct.html (эта формула точна в пределах 0,5 мм!)

К сожалению, я все еще не могу получить прямолинейное движение в Google Earth. Движение вперед состоит из зигзагообразного движения. Вы можете увидеть результат здесь http://www.youtube.com/watch?v=KS77qORjFh8

Движения вверх уже плавные. проблема сейчас только в движении вперед.

Ждем ваших отзывов.

С уважением, Ван

1 Ответ

1 голос
/ 08 июля 2011

Во время движения изменяется не только широта / долгота камеры, но и курс. Таким образом, вам также необходимо обновить заголовок.

...