132 lines
5.9 KiB
JavaScript
132 lines
5.9 KiB
JavaScript
|
|
// 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();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
});
|