Как реализовать действие «двигаться вперед» для Google Street View? - PullRequest
3 голосов
/ 18 октября 2011

Я создаю пользовательский вид на веб-странице, которая отображает Просмотр улиц в одном из моих DIV.Я использую V3 Javascript API для управления навигацией в представлении.Мои пользовательские элементы управления на самом деле находятся в другом DIV и Street View на той же странице.

myPano.setPov({heading:someNewHeading, pitch:someNewPitch, zoom:someNewZoom}) - это то, что я использую для наклона и панорамирования / поворота вокруг сцены, и это прекрасно работает.Я не уверен, как повторить действие перемещения вперед, которое было бы похоже на нажатие стрелки вверх.

В режиме просмотра улиц стрелка вверх перемещается вдоль пути, даже если заголовок POV пользователя немного отклоненвыравнивание с путем.Как использовать setPosition() или аналогичным образом, как рассчитать лонг / лат, имитирующий это движение вперед?

Заранее благодарим вас за ваш ум и вклад (ы).

Ответы [ 3 ]

1 голос
/ 21 марта 2012
function difference(link) {
  return Math.abs(pano.pov.heading%360 - link.heading);
}

function moveForward() {
  var curr;
  for(i=0; i < pano.links.length; i++) {
    var differ = difference(pano.links[i]);
    if(curr == undefined) {
      curr = pano.links[i];
    }

    if(difference(curr) > difference(pano.links[i])) {
      curr = curr = pano.links[i];
    }
  }
  pano.setPano(curr.pano);
}

, где pano - google.maps.StreetViewPanorama

1 голос
/ 14 апреля 2013
function difference(link) {

    var diff = Math.abs(panorama.pov.heading % 360 - link.heading);
    if(diff>180)
       diff=Math.abs(360-diff);

    return diff;

}

Я хотел бы использовать эту разность функций вместо предложенной raz0r, потому что она не контролирует правильный путь.

Например (изображение ниже): Ссылка 0: обратная ссылка 1: вперед Ссылка 2: слева (College Avenue)

В разнице raz0r у нас 173 для назад и 353 для вперед, и поскольку в его функции он получает минимум, это означает, что когда я вызываю moveForward (), я идуназад !!

enter image description here

0 голосов
/ 22 ноября 2011

Нашел что-то: D. На данный момент проверьте источники http://www.mapchannels.com/mm/streetview/driver.htm и http://gmaps -samples.googlecode.com / svn / trunk / streetview / streetview_directions.html . Нашел их на http://groups.google.com/group/google-maps-api/browse_thread/thread/7150eccbba9dfe40/0ca970e639a2c240,, так что кредиты отправляются автору и ответчикам там. Надеюсь, это поможет: D.

  1. Кажется, что он связан с followLink, и он не работает локально
...