Клуб API Карт

setBounds коллекции вне карты

topitv
26 сентября 2016, 15:45

Коллеги подскажите пожалуйста, как получить setBounds для 2х точек вне карты.

Дело в том что добавил geolocation по которому получаю координаты человека, отрисовываю метку, допустим это

var geoMark = new ymaps.Placemark(coords, {},опции)

так же есть Clusterer из которого получаю ближайшую точку

var closestOffice = ymaps.geoQuery(Clusterer.getGeoObjects()).getClosestTo(coords);

Как мне имея эти два объекта или два двумерных массива с координатами

получить setBounds который бы нормально зумировался.

Если сделать 

yaMap.setBounds([[55.760241, 37.611347][[55.658829, 37.5412943]]], {checkZoomRange:true}); То зум улетает к планете = 1.

Так же заметил что получить getBounds можно из коллекции но если она добавлена на карту. Но в моем случае я в разных модулях добавляю кластер и геоточку, хотелось бы независимо имея данные что описал выше получить рабочий getBounds чтобы выставить setBounds.

Может есть какие идеи у опытных картоводов?

1 комментарий
Подписаться на комментарии к посту
Ну и ладненько, сделал через вилку, пришлось добавлять коллекцию на карту, с нулевым размером и удалять с карты сразу после получения bounds.


var myCollection = new ymaps.GeoObjectCollection();
myCollection.add(new ymaps.Placemark(closestOffice.geometry._coordinates), {}, {iconImageSize: [0, 0]});
myCollection.add(new ymaps.Placemark(coords), {}, {iconImageSize: [0, 0]});
yaMap.geoObjects.add(myCollection);
yaMap.setBounds(myCollection.getBounds(), {checkZoomRange: true});
yaMap.geoObjects.remove(myCollection);