1//ÐеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð²ÐºÐ»ÑÑениÑ/оÑклÑÑÐµÐ½Ð¸Ñ Ð¸Ð½Ð´Ð¸ÐºÐ°ÑоÑа загÑÑзки 2 3//ÐеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð±Ñла ли Ñ Ð¾ÑÑ Ñаз загÑÑжена ЯндекÑ.ÐаÑÑа (ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð¿Ð¾Ð²ÑоÑной загÑÑзки пÑи наведении) 4var check_if_load = false; 5 6 7// $("#ya-map").mouseover(function () { 8// ymap(); 9// $("#ya-map").parent('section').addClass('showFullMap'); 10// $("#aside").fadeOut(); 11// }); 12$(document).ready(function() { 13 const mapElement = document.getElementById('ya-map'); 14 if (mapElement) { 15 const observer = new IntersectionObserver((entries) => { 16 entries.forEach(entry => { 17 if (entry.isIntersecting) { 18 ymap(); 19 $(entry.target).parent('section').addClass('showFullMap'); 20 $("#aside").fadeOut(); 21 22 } 23 }); 24 }, { 25 threshold: 0.7, // СÑабаÑÑваеÑ, когда 70% ÑлеменÑа видно 26 rootMargin: '-50px 0px 0px 0px' // ÐпÑионалÑно: ÑÑабаÑÑÐ²Ð°ÐµÑ Ð·Ð° 50px до веÑÑ Ð½ÐµÐ³Ð¾ кÑÐ°Ñ viewport (Ð´Ð»Ñ Ð¿ÑедзагÑÑзки) 27 }); 28 29 observer.observe(mapElement); 30 } 31}); 32 33//ФÑнкÑÐ¸Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ°ÑÑÑ ÑайÑа и заÑем вÑÑавки ее в блок Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑом "map-yandex" 34function init() { 35 36 t = new ymaps.Map("map-yandex", { 37 center: [55.753220, 37.622513], 38 zoom: 9.5 39 }); 40 var udaltsova = new ymaps.Placemark([55.688228, 37.488502], { 41 hintContent: "Ð¢ÐµÑ ÑенÑÑ Â«ÐоÑоÑиÑÑ»", 42 balloonContent: "ÐоÑква, Ñл. УдалÑÑова, 60, к.1", 43 iconCaption: "Ñл. УдалÑÑова, 60, к.1" 44 }, { 45 preset: 'islands#blueRepairShopIcon', 46 iconGlyphColor: 'blue', 47 }); 48 var sevastopolskaya = new ymaps.Placemark([55.634649, 37.543201], { 49 hintContent: "Ð¢ÐµÑ ÑенÑÑ Â«ÐоÑоÑиÑÑ»", 50 balloonContent: "ÐоÑква, СеваÑÑополÑÑкий пÑ. 95 б, к.6", 51 iconCaption: "СеваÑÑополÑÑкий пÑ. 95 б, к.6" 52 }, { 53 preset: 'islands#blueRepairShopIcon', 54 iconGlyphColor: 'blue' 55 }); 56 var lobnenskaya = new ymaps.Placemark([55.891821, 37.523931], { 57 hintContent: "Ð¢ÐµÑ ÑенÑÑ Â«ÐоÑоÑиÑÑ»", 58 balloonContent: "ÐоÑква, Ñл. ÐобненÑÐºÐ°Ñ Ð´.17 к.6", 59 iconCaption: "Ñл. ÐобненÑÐºÐ°Ñ Ð´.17 к.6", 60 }, { 61 preset: 'islands#blueRepairShopIcon', 62 iconGlyphColor: 'blue' 63 }); 64 65 var nauchnyi = new ymaps.Placemark([55.65555326950616, 37.55328910779519], { 66 hintContent: "Ð¢ÐµÑ ÑенÑÑ Â«ÐоÑоÑиÑÑ»", 67 balloonContent: "ÐоÑква, ÐаÑÑнÑй пÑоезд д.14а к.1", 68 iconCaption: "ÐаÑÑнÑй пÑоезд д.14а к.1", 69 }, { 70 preset: 'islands#blueRepairShopIcon', 71 iconGlyphColor: 'blue' 72 }); 73 74 t.geoObjects.add(udaltsova).add(sevastopolskaya).add(lobnenskaya).add(nauchnyi); 75} 76 77// ФÑнкÑÐ¸Ñ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ загÑÑзки каÑÑÑ (на Ñамом деле пÑовеÑÑеÑÑÑ Ð·Ð°Ð³ÑÑзка Ñайлов) 78function waitForTilesLoad(layer) { 79 return new ymaps.vow.Promise(function (resolve, reject) { 80 var tc = getTileContainer(layer), readyAll = true; 81 tc.tiles.each(function (tile, number) { 82 if (!tile.isReady()) { 83 readyAll = false; 84 } 85 }); 86 if (readyAll) { 87 resolve(); 88 } else { 89 tc.events.once("ready", function () { 90 resolve(); 91 }); 92 } 93 }); 94} 95 96function getTileContainer(layer) { 97 for (var k in layer) { 98 if (layer.hasOwnProperty(k)) { 99 if ( 100 layer[k] instanceof ymaps.layer.tileContainer.CanvasContainer 101 || layer[k] instanceof ymaps.layer.tileContainer.DomContainer 102 ) { 103 return layer[k]; 104 } 105 } 106 } 107 return null; 108} 109 110// ФÑнкÑÐ¸Ñ Ð·Ð°Ð³ÑÑзки API ЯндекÑ.ÐаÑÑ Ð¿Ð¾ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ (в наÑем ÑлÑÑае пÑи наведении) 111function loadScript(url, callback) { 112 var script = document.createElement("script"); 113 114 if (script.readyState) { // IE 115 script.onreadystatechange = function () { 116 if (script.readyState === "loaded" || 117 script.readyState === "complete") { 118 script.onreadystatechange = null; 119 callback(); 120 } 121 }; 122 } else { // ÐÑÑгие бÑаÑзеÑÑ 123 script.onload = function () { 124 callback(); 125 }; 126 } 127 128 script.src = url; 129 document.getElementsByTagName("head")[0].appendChild(script); 130} 131 132// ÐÑÐ½Ð¾Ð²Ð½Ð°Ñ ÑÑнкÑиÑ, коÑоÑÐ°Ñ Ð¿ÑовеÑÑÐµÑ ÐºÐ¾Ð³Ð´Ð° Ð¼Ñ Ð½Ð°Ð²ÐµÐ»Ð¸ на блок Ñ ÐºÐ»Ð°ÑÑом "ymap-container" 133var ymap = function () { 134 135 if (!check_if_load) { // пÑовеÑÑем пеÑвÑй ли Ñаз загÑÑжаеÑÑÑ Ð¯Ð½Ð´ÐµÐºÑ.ÐаÑÑа, еÑли да, Ñо загÑÑжаем 136 // ЧÑÐ¾Ð±Ñ Ð½Ðµ бÑло повÑоÑной загÑÑзки каÑÑÑ, Ð¼Ñ Ð¸Ð·Ð¼ÐµÐ½Ñем знаÑение пеÑеменной 137 check_if_load = true; 138 // ÐагÑÑжаем API ЯндекÑ.ÐаÑÑ 139 loadScript("https://api-maps.yandex.ru/2.1/?lang=ru_RU&loadByRequire=1", function () { 140 // Ðак ÑолÑко API ЯндекÑ.ÐаÑÑ Ð·Ð°Ð³ÑÑзилиÑÑ, ÑÑÐ°Ð·Ñ ÑоÑмиÑÑем каÑÑÑ Ð¸ помеÑаем в блок Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑом "map-yandex" 141 ymaps.load(init); 142 }); 143 } 144 145} 146
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.