Answer the question
In order to leave comments, you need to log in
Why doesn't yandex map 2.1 work in taba?
Tell me why the Yandex map does not work in the tab? This is expressed as a scale of 6000 km, instead of a precise definition. Taba works great outside. Additionally, I set the processing of clicking on the tab so that the map was refreshed, but it does not help.
<script type="text/javascript">
var address = "@Model.Address";
var title = "@Model.Title";
var edcMapError = null;
function mapInit() {
window.edcMap = new ymaps.Map("edc-map", {
center: [55.76, 37.64],
zoom: 10,
minZoom: 8,
maxZoom: 12,
controls: ['largeMapDefaultSet']
});
ymaps.geocode(address, {
// Сортировка результатов от центра окна карты.
// boundedBy: myMap.getBounds(),
// strictBounds: true,
// Вместе с опцией boundedBy будет искать строго внутри области, указанной в boundedBy.
// Если нужен только один результат, экономим трафик пользователей.
results: 1
}).then(function (res) {
// Выбираем первый результат геокодирования.
var firstGeoObject = res.geoObjects.get(0),
// Координаты геообъекта.
coords = firstGeoObject.geometry.getCoordinates(),
// Область видимости геообъекта.
bounds = firstGeoObject.properties.get('boundedBy');
firstGeoObject.options.set('preset', 'islands#darkBlueDotIconWithCaption');
// Получаем строку с адресом и выводим в иконке геообъекта.
firstGeoObject.properties.set('iconCaption', firstGeoObject.getAddressLine());
// Добавляем первый найденный геообъект на карту.
window.edcMap.geoObjects.add(firstGeoObject);
// Масштабируем карту на область видимости геообъекта.
window.edcMap.setBounds(bounds, {
// Проверяем наличие тайлов на данном масштабе.
checkZoomRange: true
});
//
/**
* Все данные в виде javascript-объекта.
*/
console.log('Все данные геообъекта: ', firstGeoObject.properties.getAll());
console.log('Метаданные ответа геокодера: ', res.metaData);
console.log('Метаданные геокодера: ', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData'));
console.log('precision', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData.precision'));
console.log('Тип геообъекта: %s', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData.kind'));
console.log('Название объекта: %s', firstGeoObject.properties.get('name'));
console.log('Описание объекта: %s', firstGeoObject.properties.get('description'));
console.log('Полное описание объекта: %s', firstGeoObject.properties.get('text'));
console.log('\nГосударство: %s', firstGeoObject.getCountry());
console.log('Населенный пункт: %s', firstGeoObject.getLocalities().join(', '));
console.log('Адрес объекта: %s', firstGeoObject.getAddressLine());
console.log('Наименование здания: %s', firstGeoObject.getPremise() || '-');
console.log('Номер здания: %s', firstGeoObject.getPremiseNumber() || '-');
/**
* Если нужно добавить по найденным геокодером координатам метку со своими стилями и контентом балуна, создаем новую метку по координатам найденной и добавляем ее на карту вместо найденной.
*/
/**
var myPlacemark = new ymaps.Placemark(coords, {
iconContent: 'моя метка',
balloonContent: 'Содержимое балуна <strong>моей метки</strong>'
}, {
preset: 'islands#violetStretchyIcon'
});
myMap.geoObjects.add(myPlacemark);
*/
});
$(document).on('shown.bs.tab', 'a[data-toggle="tab"]', function (e) {
if (e.target.getAttribute("href") == "#pill-2") {
window.edcMap.container.fitToViewport();
}
})
}
$(function () {
if (edcMapError) {
alert(edcMapError);
}
else {
ymaps.ready(mapInit);
}
});
</script>
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question