Добрый день!
Мне надо выводить город, город и улицу, город и улицу с домом. При этом масшабирование должно соответвовать области объекта. У меня возникает проблема с методом setBounds. Ниже приведен код примера, в котором при нажатии на кнопку появляется карта, но масштабируется с zoom 0, если убрать setBounds, то происходит масштаб с zoom 14 (отмечен при создании карты), но мне он не подходит для отображения города или города с большой улицей. Пожалуйста, подскажите, что делаю не так и как решить эту задачу?!
<html>
<head>
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU"></script>
<script>
ymaps.ready(init);
function init(){
var myMap;
// Поиск координат центра
ymaps.geocode('Краснодар, Адыгейская Набережная', {
results: 1 //только один результат
}).then(function (res) {
myMap = new ymaps.Map("map", {
center: res.geoObjects.get(0).geometry.getCoordinates(),
zoom: 14
});
var firstGeoObject = res.geoObjects.get(0), // Выбираем первый результат геокодирования
coords = firstGeoObject.geometry.getCoordinates(), // Координаты геообъекта
bounds = firstGeoObject.properties.get('boundedBy'); // Область видимости геообъекта
// Добавляем первый найденный геообъект на карту
myMap.geoObjects.add(firstGeoObject);
// Масштабируем карту на область видимости геообъекта
myMap.setBounds(bounds, {
checkZoomRange: true // проверка наличия тайлов на данном масштабе
});
});
}
function mapD(){
document.getElementById("map").style.display='';
}
</script>
</head>
<body>
<div>
<div>Адыгейская Набережная, 71 <input class="sortbut" value="Показать на карте" onclick="mapD()" type="button"></div>
<div id="map" style="width:100%;height:400px;margin:20px 0;display:none"></div>
</div>
</body></html>