2017-01-11 3 views
1

У меня есть приложение для колб с использованием API OpenLayers3 для рисования карты и анимации маршрута. Я хочу, чтобы карта двигалась с моей маленькой лодкой, если я приближаюсь к лодке, так что лодка никогда не выйдет из поля зрения, если я увеличен.Как мне сделать AutoPan OpenLayer 3 вместе с моей анимацией?

Я пробовал использовать код, который я нашел here (Сковороду в лондон части):

// ------------------------------------------------ 
// Tried to use this code - Did not work 
// ------------------------------------------------ 
/*var pan = ol.animation.pan({ 
    duration: 100, 
    source: (map1.view.getCenter()) 
}) 
map1.beforeRender(pan); 
map1.view.setCenter(currentPoint);*/ 

Я создал a fiddle, чтобы показать остальную часть моего кода вместе с вышеуказанной части.

Маркер перемещается очень хорошо, но я хочу, чтобы камера качалась вместе с маркером. Кто-нибудь знает, как добиться этого?

ответ

2

Чтобы получить доступ к представлению карты, вы должны вызвать метод getView(), а для установки центра вы должны передать координаты напрямую, а не объект геометрии.

Правильный подход, чтобы установить центр будет:

map.getView().setCenter([53.44241609, 6.84913974]); 

Я также отредактировал jsfiddle

+0

Спасибо. Это то, что я ищу. – Zeliax

+0

@ Zeliax, пожалуйста, не забудьте проголосовать за мой ответ, если найдете его правильно, чтобы все могли видеть, что ваша проблема уже решена. Благодаря! – Icarus