я в общем понял в чём проблема, ответ отдаётся не сразу вот здесь myMap.geoObjects.add(result.clusterize());
Но проблема в том что в документации нет никого события когда сервер даст ответ. я могу сделать просто тайм аут, но сервер отвечает с разной скоростью.
В общем я нашёл решение
result.then(function () {
myMap.setZoom(17);
});
должно быть так.
Всем спасибо за хелпу