Joywork/js/popup.js
2026-05-22 21:21:54 +03:00

132 lines
5.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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('<a class="closer closePopupLink" href="#"><i class="ti-close"></i></a><div id="map_canvas_popup" style="height: 300px; border-top: 2px solid #dedede;"></div>');
$(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('<a class="closer closePopupLink" href="#"><i class="ti-close"></i></a><div id="map_canvas_popup" style="height: 300px; border-top: 2px solid #dedede;"></div>');
$(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();
}
});
});
});