как использовать event.addListener с несколькими панорамами улиц - PullRequest
1 голос
/ 21 марта 2012

Привет, я не получил ответа раньше, так что вторая попытка ...

Я хочу управлять POV (курсом и шагом) для нескольких панорам улиц, чтобы при интерактивном перемещении одной панорамы вниз влево-вправо другой панораме перемещалось с ней

Я могу заставить это работать, когда взаимодействие с панорамой перемещает Panorama2 другой, используя этот JavaScript:

google.maps.event.addListener(panorama, 'pov_changed', function() {
panorama2.setPov({ heading: panorama.getPov().heading + $headingoffset, pitch: panorama.getPov().pitch, zoom: panorama.getPov().zoom });
});

когда я добавляю один и тот же код для управления панорамой через взаимодействие с panorma2, обе панорамы перестают быть интерактивными, поэтому я предполагаю, что код вызывает цикл

google.maps.event.addListener(panorama2, 'pov_changed', function() {
panorama.setPov({ heading: panorama2.getPov().heading - $headingoffset, pitch: panorama2.getPov().pitch, zoom: panorama2.getPov().zoom });
});

\ Значение $ headingoffset - это степень разницы между двумя панорамами. мне нужно выключить и снова включить слушатель для другой панорамы, пока я меняю POV - если да, то как

Или это можно сделать с помощью события мыши DIV вместо

1 Ответ

1 голос
/ 22 марта 2012

Давайте предположим, что мышь должна быть над панорамой, чтобы изменить POV, поэтому вы можете:

создать переменную.

Когда мышь находится над div, присвойте div переменной.
Когда срабатывает pov_changed, теперь вы можете определить, является ли pov_changed результатом действия пользователя (когда для переменной задано значение div, связанное с панорамой), или нет, если ничего не делать.

Демо: http://jsfiddle.net/doktormolle/Y9947/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...