Joywork/js/popup.js

132 lines
5.9 KiB
JavaScript
Raw Normal View History

2026-05-22 20:21:54 +02:00
// 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();
}
});
});
});