Не много просмотров, без комментариев, но вот мое решение, если кто-нибудь когда-либо сталкивался с подобной ситуацией.
При запуске повторяющихся методов пользовательскими событиями, такими как panBy()
, я столкнулся с проблемамис API V3.В то время как V2 имел событие 'moveend', оно было заменено событием 'idle'.Тем не менее, «холостой» имеет небольшую задержку после панорамирования.Другим вариантом является использование события «bounds_changed», но это событие срабатывает несколько раз в секунду, в результате чего карта никогда не загружает плитки (следовательно, нет панорамирования).
Я наконец решил эту проблему, добавив задержку тайм-аутадо «bounds_changed», очищая тайм-ауты, которые будут складываться в нескольких триггерах событий.Это фрагмент кода, который решил проблему.
google.maps.event.addListener(map, 'bounds_changed', function() {
if (moving) {
if (myTimeout) {
window.clearTimeout(myTimeout);
}
myTimeout = window.setTimeout(initPan(map), 2200);
}
});
Я нашел решение на форуме API , и вы можете увидеть пример моего непрерывного панорамирования здесь .И если это не имеет никакого смысла, посмотрите на полный код примера и удачи.