PageSourceSearch

https://spimexforum.ru/local/components/tora/contacts/templates/.default/script.js?17721038433258

js spimexforum.ru collected 2026-10-08 08:32:43 UTC 3,258 bytes, 78 lines download raw bytes

1 let arrContacts = [ 
2    {	
3        marker: "/local/templates/main/images/pin1.svg",
4        lat: '55.755762',
5        lon: '37.557470',
6        title: 'Конгресс-центр ЦМТ (Центр международной торговли)',
7        contacts: 'Телефон 1, Телефон 2, ',
8
9    }
10]
11
12ymaps.ready(function () {
13    // Проверяем, есть ли метки
14    if (typeof window.contactsMapMarks === 'undefined' || !window.contactsMapMarks.length) {
15        console.warn('Нет данных для отображения на карте');
16        return;
17    }
18
19    var map = new ymaps.Map('map', {
20        // Центрируем по первой метке (можно доработать под несколько меток)
21        center: [window.contactsMapMarks[0].lat, window.contactsMapMarks[0].lon],
22        zoom: 17,
23        controls: []
24    });
25
26    map.behaviors.disable('scrollZoom');
27
28    var zoomControl = new ymaps.control.ZoomControl({
29        options: { size: "small" }
30    });
31    map.controls.add(zoomControl);
32
33    // Создаём макет для метки (используем шаблон из вашего кода)
34    var circleLayout = ymaps.templateLayoutFactory.createClass(
35        '<div class="placemark_layout marker-icon"><img src="{{ properties.marker }}" /></div>'
36    );
37
38    // Добавляем все метки из массива
39    for (var i = 0; i < window.contactsMapMarks.length; i++) {
40        var mark = window.contactsMapMarks[i];
41
42        var circlePlacemark = new ymaps.Placemark(
43            [mark.lat, mark.lon],
44            {
45                marker: mark.marker, // для использования в макете
46                balloonContentHeader: '<div class="balloon-header-content">' + mark.title + '</div>',
47                balloonContentBody: '<div class="balloon-content">' +
48                    '<div class="ballon-col">' +
49                    '<div class="balloon-content-title">Контакты</div>' + mark.contacts +
50                    '</div></div>',
51                balloonContentFooter: '<div class="balloon-bottom-content"></div>',
52                hintContent: mark.title
53            },
54            {
55                iconLayout: circleLayout,
56                iconShape: {
57                    type: 'Circle',
58                    coordinates: [0, 0],
59                    radius: 60
60                },
61                iconImageOffset: [-17, -17],
62                hideIconOnBalloonOpen: false
63            }
64        );
65        map.geoObjects.add(circlePlacemark);
66    }
67
68    // Если у вас есть блоки с классом .choose_address для переключения между метками,
69    // оставьте этот код (предполагается, что они генерируются где-то ещё)
70    $('.choose_address').click(function(){
71        var coords = $(this).data('coords').split(",");
72        var id = $(this).data('id');
73        $('.choose_address').removeClass('active');
74        $(this).addClass('active');
75        map.setCenter(coords, 13, {checkZoomRange: true});
76        return false;
77    });
78});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.