Клуб API Карт

Проблемы с Map.panTo() при использовании внешних событий не относящихся к карте

nikita.pimoshenko
23 октября 2015, 11:56

Есть карта, на которой висят слушатели событий карты, например 'click', при клике метка на карте прягает в место клика и центр карты сдвигается на метку с помощью panTo и все работает отлично, с учетом даже того что расстояние перемещения метки по карте маленькое. Далее есть поля ввода ккординат и зума, на 'change' этих полей повещены обработчики, которые перемещают метку по карте, при использовании метода setCenter с измененными координатами, центр карты успешно перемещается(но естественно мгновенно, не помогает даже свойство options[duration]), при использовании panTo центр карты не перемещается, даже если расстояние будет в несколько областей видимости.

  

function inputEventsUpdate()
{
   var coords = map_object.get_coords();
myPlacemark.geometry.setCoordinates([coords.lat, coords.long]);
var panto = myMap.panTo([coords.lat, coords.long]);
var onRejected = function(data){
      console.log(data, 'rejected');
};
var onFulfilled = function(data) {
      console.log(data, 'fulfiled');
};
panto.then(onFulfilled, onRejected);
myMap.setZoom(coords.zoom);
}

 

Пытаюсь дебажить результат promise, который возвращает panTo во всех случаях получаю, что промис был выполнен, при этом никакого движения карты не наблюдается.

2 комментария
Подписаться на комментарии к посту

Вы же сразу после panTo

myMap.setZoom синхронно вызываете.

Это все ломает

Благодарю за ответ, что то не додумался до этого, недавно только с промисами столкнулся, еще не разобрался что к чему там.