Клуб API Карт

Движение по карте с помощью setCenter

gekkot
15 июня 2015, 17:32

Добрый день!
Я занимаюсь вопросом кеширования карты.
Алгоритм у меня следующий  - есть список координат,которые задаются как центр карты с помощью setCenter, карта двигается, отображается и тем самым кешируется.

Но карта сразу проскочила на последний центр, только его и отобразив.
Вопрос - что сделать, чтобы карта изменила центр , отобразилась на экране, а потом продолжила движение.
JS код следующий: 

var myMap;
ymaps.ready(init);
var array_coord = [
    [60.054569, 30.349686],
    [60.059817, 30.400369],
    [60.001635, 30.491693],
    [59.772158, 30.749185],
    [59.944769, 31.021010]
];
function init() {
    myMap = new ymaps.Map("map", {
        center: [57.5262, 38.3061],
        zoom: 11,
        controls: ['default']
    });
    myMap.events.add('click', function(e) {
        set_center(0, 15);
    });
}
function set_center(index, zoom) {
    console.log('current index = ' + index);
    var coord1 = array_coord[index];
    myMap.setCenter(coord1, 12, {}).then(function(result) {
        console.log('OK');
        if (index + 1 < array_coord.length) {
            set_center(index + 1, 12);
        }
    }, function(error) {
        console.log('error');
    });
}

Спасибо!

 

1 комментарий
Подписаться на комментарии к посту
В общем случае — ничего. Кэшированием занимается браузер, и тайлы карты вообще в принципе плохо кэшируются независимо от ваших усилий.