// JavaScript Document $('document').ready(function(){ $(".popup_window .closePopupLink, .map_object .closePopupLink, .closeButton").click(function(event) { event.preventDefault(); $('.open_map').removeClass("active"); }); $("body").on('click', '.open_map', function(event){ $('.fr__room').removeClass("with-map"); $('.open_map').removeClass("active"); event.preventDefault(); $('.map_object').empty(); $('.popup_window').show(); $(this).parents('.fr__room').find('.popup_window').append('
'); $(this).parents('.fr__room').find('.open_desc').addClass("active"); var myMap = new ymaps.Map("map_canvas_popup", { center: [59.9174455,30.3250575], zoom: 19, controls: ['fullscreenControl', 'zoomControl'] }); var address = $(this).parents('.fr__room').find('.adress_map').text(); ymaps.geocode(address, {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()); // Добавляем первый найденный геообъект на карту. myMap.geoObjects.add(firstGeoObject); // Масштабируем карту на область видимости геообъекта. myMap.setBounds(bounds, { // Проверяем наличие тайлов на данном масштабе. checkZoomRange: true }); }); $('.closePopupLink').click(function(event) { event.preventDefault(); $('.open_map').removeClass("active"); $('.popup_window').hide(); $('.fr__room').removeClass("with-map"); }); }); $("body").on('click', '.open_can_map', function(event){ $('.open_can_map').removeClass("active"); event.preventDefault(); $('.map_object').empty(); $('.popup_window').show(); $(this).parents('.jw__object').find('.popup_window').append('
'); $(this).parents('.jw__object').find('.open_can_map').addClass("active"); var myMap = new ymaps.Map("map_canvas_popup", { center: [59.9174455,30.3250575], zoom: 19, controls: ['fullscreenControl', 'zoomControl'] }); var latitude = $(this).attr('data-latitude'); var longitude = $(this).attr('data-longitude'); var address = $(this).parents('.marketplace').find('.address').text(); if (latitude && longitude) { var firstGeoObject = new ymaps.Placemark([ Number.parseFloat(latitude).toPrecision(9), Number.parseFloat(longitude).toPrecision(9) ], {}, { draggable:false}); firstGeoObject.options.set('preset', 'islands#darkBlueDotIconWithCaption'); // Получаем строку с адресом и выводим в иконке геообъекта. firstGeoObject.properties.set('iconCaption', address); myMap.geoObjects.add(firstGeoObject); myMap.setCenter(firstGeoObject.geometry.getCoordinates(), 14); } else { ymaps.geocode(address, {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()); // Добавляем первый найденный геообъект на карту. myMap.geoObjects.add(firstGeoObject); // Масштабируем карту на область видимости геообъекта. myMap.setBounds(bounds, { // Проверяем наличие тайлов на данном масштабе. checkZoomRange: true }); }); } $('.closePopupLink').click(function(event) { event.stopPropagation(); event.preventDefault(); if ($('#modalAutoSearchResults_bg').css('display') == 'block') { $('#modalAutoSearchResults .tabs__content .open_can_map').removeClass("active"); $('#modalAutoSearchResults .tabs__content .popup_window').hide(); } else { $('.open_can_map').removeClass("active"); $('.popup_window').hide(); } }); }); });