Пытался задействовать ваш скрипт, в консоле возникают ошибки: Cannot call method 'augment' of undefined - collectionWithBounds.js:59 Cannot read property 'constructor' of undefined - collectionWithBounds.js:41
Вот код моего примера:
ymaps.ready(init);
function init () {
// Создание экземпляра карты и его привязка к контейнеру с
// заданным id ("map")
var myMap = new ymaps.Map('map', {
// При инициализации карты, обязательно нужно указать
// ее центр и коэффициент масштабирования
center: [55.76, 37.64], // Москва
zoom: 10
});
var collection = new GeoCollectionBounds(), placemark1 = new ymaps.Placemark([55.7, 37.5]), placemark2 = new ymaps.Placemark([55.8, 37.6]), placemark3 = new ymaps.Placemark([55.5, 37.7]), polygon = new ymaps.Polygon([[[55,37], [58,36], [54,45], [50, 30]]]);
myMap.geoObjects.add(collection); // Show collection bounds on the map. myMap.geoObjects.add(collection.getBoundsRect()); // Set center and zoom using collection bounds. myMap.setBounds(collection.getBounds());
Сергей, я не забыл там в файле collectionWithBounds.js вызываются методы АПИ
и подключать его нужно после того как случится ymaps.ready
т.е. как то так
ymaps.ready(init);function init() { // var center = [55.7, 37.5], var center = [90, 11], map = new ymaps.Map('YMapsID', { center: center, zoom: 9, type: 'yandex#map', behaviors: ['scrollZoom'] }); $.getScript('collectionWithBounds.js', function () { console.log('collection class loaded'); var collection = new GeoCollectionBounds(), placemark1 = new ymaps.Placemark([55.7, 37.5]), placemark2 = new ymaps.Placemark([55.8, 37.6]), placemark3 = new ymaps.Placemark([55.5, 37.7]), polygon = new ymaps.Polygon([[[55,37], [58,36], [54,45], [50, 30]]]); collection .add(placemark1) .add(placemark2) .add(placemark3) .add(polygon); map.geoObjects.add(collection); // Show collection bounds on the map. map.geoObjects.add(collection.getBoundsRect()); // Set center and zoom using collection bounds. map.setBounds(collection.getBounds()); });}
Конечно, всё можно сделать самим. Но ведь для того Яндекс.Карты и сделаны, чтобы большее количество людей с наименьшими затратами могли использовать замечательные возможности. Возможность нахождения границ и масштабирование карты таким образом, чтобы вмещались все объекты, как это было в предыдущей версии, очень востребована