Любой код из заметок тестировался ТОЛЬКО в последних версиях популярных браузеров.
Ибо, пока разработчики поддерживать совместимость со старыми браузерами - люди будут использовать старые браузеры.
1 |
<script src="//api-maps.yandex.ru/2.1/?lang=ru_RU"></script> |
1 2 3 4 5 |
/* Ч/Б карта */ .contacts_map { filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); -webkit-filter: grayscale(100%); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
jQuery(document).ready(function($) { $B = $('body'); $W = $(window); // Карта (function(){ let $map = $B.find('.contacts_map'); if (!$map.length) return; if (!$map.is('[id]')) { console.error('Не указан атрибут [id] у карты'); return; } if (!$map.is('[data-coord]')) { console.error('Не указан атрибут [data-coord] у карты'); return; } ymaps.ready(function(){ let map = new ymaps.Map($map.attr('id'), { center: $map.data('coord'), zoom: 13, controls: window.innerWidth < 1024 ? [] : ['zoomControl'] }); // Иконка (из набора дефолтных) map.geoObjects.add(new ymaps.Placemark($map.data('coord'), {}, { preset: 'islands#redDotIcon' })); // Сдвинуть центр карты вправо на 100px /*let position = map.getGlobalPixelCenter(); map.setGlobalPixelCenter([ position[0] - 100, position[1] ]);*/ // Все метки в экране /*let storage = ymaps.geoQuery(map.geoObjects); map.setBounds(storage.getBounds(), { zoomMargin: [30, 30, 30, 30] }); map.setZoom(map.getZoom());*/ // Отключить перетаскивание одним пальцем (для моб) if (window.innerWidth < 1024) { map.behaviors.disable('drag').enable('multiTouch'); } // Отключить скролл колесиком (для пк) else { map.behaviors.disable('scrollZoom'); } // Иконка (своя) /*map.geoObjects.add(new ymaps.Placemark($map.data('coord'), {}, { iconLayout: 'default#image', iconImageHref: '/_/media/place.svg', iconImageSize: [25, 41], iconImageOffset: [-17, -41] }));*/ // Подогнать размер (при ресайзе окна) изначально скрытой карты (которая открывается по кнопке) /*$W.on('resize', function() { if ($B.hasClass('map_resizing')) return; $B.addClass('map_resizing'); map.container.fitToViewport(); $B.removeClass('map_resizing'); });*/ }); })(); }); |