Принципы, показатели и понятия медиапланирования

Основные понятия и показатели медиапланирования


Ad Hoc - специализированное исследование, которое проводится по заказу конкретного клиента. Анкета разрабатывается под конкретные задачи совместно с заказчиком, результаты исследования передаются в распоряжение Заказчика.

Affinity - индекс соответствия. Отношение TVR эфирного события для выбранной целевой аудитории и TVR этого события, посчитанного для выбранной базовой группы. Может быть использован для определения эфективности эфирного события для анализируемой демографической группы Affinity = (TVR для ЦА/TVR для Базовой Группы)*100.

AQH (Average Quarter of an Hour) - средний рейтинг 15-минутного интервала - среднее количество слушателей в усредненном 15-минутном интервале. Исчисляется в тысячах человек и в процентах от целевой группы. Если сказано, что AQH какой-либо радиостанции равен 155 тысячам человек или 2Eосквичей, старше 12 лет, это значит, что в среднем хотя бы 5 минут в течение усредненного 15-ти минутного интервала эту радиостанцию слушают 155.0 тысяч человек. Они составляют 2Fаселения Москвы 12 лет и старше.

ATL (Above-The-Line ) – к категории ATL относятся традиционные средства массовой информации: телевидение, радио, газеты, журналы, наружная реклама. Они помогают донести информацию общего характера до больших потребительских групп. Вся реклама, оторванная от непосредственно продажи товара по временным или пространственным причинам.

Blinking - «мигание», т.е. рекламная активность в течение достаточно длительного периода с короткими перерывами (1-2 недели).

BTL (Below-The-Line) - реклама с непосредственным включением товара в рекламное сообщение — сэмплинги, дегустации, подарки за покупку, лотереи, мерчандайзинг.

Continuity - непрерывная рекламная активность в течение длительного периода времени.

CPT Aud (Cost-per-thousand of Audience) - cтоимость 1000 человек в выбранной целевой аудитории, видевших анализируемое эфирное событие.

CPT TVR (Cost-per-thousand of TV rating) - cтоимость пункта рейтинга – CPP

GRP (Gross rating points) - количество человек в выбранной целевой аудитории, которые смотрели эфирное событие не менее одной минуты. Выражается в процентах, хотя знак Fикогда не используется. В отличиe от подсчета REACH=ля группы событий, при расчете GRP для группы событий каждый зритель учитывается не один раз, а столько раз, сколько он реально смотрел эфирные события. Поэтому GRP может превышать 100.

Для единичного эфирного события GRP = ReachY

Для группы событий GRP = (OTS для ЦА/размер ЦА)*100. Для коротких эфирных событий, длительностью не более одной минуты (роликов) GRP = TVR

Часто статистику GRP, посчитанную для целевой аудитории, называют TRP (target rating points).

Fix - фиксированное размещение. Размещение рекламы только в определенных программах или рекламных блоках и в конкретных программах, в конкретные дни, которые выбрал рекламодатель.

Flighting (flights/bursts) - флайтовая стратегия, т.е. периоды активности, чередующиеся с длительными перерывами.

Floated - плавающее размещение. Произвольное размещении рекламы в эфире при условии набора необходимого объема GRP за определенный период времени, вне зависимости от программы, времени размещения и дня выхода.

HUR - характеристика популярности данного временного интервала у радиослушателей. Рассчитывается как соотношение общей численности всех домохозяйств, включивших радио в данный момент, к общей численности домохозяйств.

HUT - характеристика популярности данного временного интервала у телезрителей или общего семейного телесмотрения. Показатель рассчитывается как соотношение общей численности всех домохозяйств, включивших телевизор в данный момент, к общей численности домохозяйств.

Media brief - медиабриф. Краткое описание целей и задач, продукта рекламы, определение рамок бюджета, других необходимых сведений для проведения рекламной кампании. Oфициальный документ, составленный в определенном формате и подписанный клиентом, где кратко описываются:
- Предыстория бренда на данном рынке;
- Задачи данной рекламной кампании (Launch, Maintenance);
- Целевая аудитория бренда;
- Сезонность продаж;
- География продаж;
- Наличие креативных материалов (ролики, макеты, и т.д.);
- Другая активность (промоушн, специальные события, требующие поддержки в СМИ);
- Бюджет данной кампании.

Mixed - промежуточные варианты размещений. Фиксированное и плавающее размещение в рамках одного договора (например, в соотношении 50:50), с обязательным условием того, что в prime time должно размещаться не менее определенной части бюджета или же части общего объема GRP (более распространенный случай).

OTS - количество контактов с рекламным сообщением. Вычисляется как GRP.

People meter - пиплметр. Приставка к телевизору для фиксирования каналов, телепрограммы которых просматриваются, а также времени просмотра. Кроме того, использование пиплметра позволяет фиксировать, кто из членов семьи просматривал ту или иную телепрограмму. Используется в медиа-исследованиях. Процесс получения данных с помощью пиплметра получил название «пиплметрия».

Personal people meter (PPM) - прибор размером с пейджер, который респонденты носят в течение дня. Он работает, определяя идентификационные коды, которые включены в звуковой поток эфира телеканала, не мешая респондентам в повседневной жизни и не обременяя их постоянной фиксацией своего телесмотрения и радиослушания на бумаге. Зачастую в транспорте, либо других общественных местах респондент является невольным слушателем радио или зрителем телепередачи. Определение радиостанции / канала, которую он слушал/смотрел в течение какого-либо определенного времени является затруднительным, в этом случае фиксирование кода радиостанции / канала датчиком, освободит респондента, участвующего в исследовании, от постоянного контроля им самим за тем, что он слушает/смотрит и позволит получить более точные результаты. Код телеканала / радиостанции фиксируется при помощи приспособления РРМ, в определенное время (когда респондент ложится спать) РРМ устанавливается в специальную базовую станцию, куда переходят все полученные за день данные, затем данные передаются на хаб, а из него по телефонной линии передаются в компанию.

Prime-time - наиболее активное время телесмотрения в период суток. В России, на телевидении обычно телевизионная часть дня с 19:00 до 24:00. Время массового просмотра телевизионных передач, у разных телеканалов в разных регионах и в разных СМИ может различаться. На радио пиковое время изначально называлось drive-time, по американской традиции, где основным место прослушивания радио является автомобиль и пиковое время, соответственно, приходится на утренние часы, когда люди едут на работу, и вечерние, когда возвращаются домой. В странах СНГ картина несколько иная, основное место прослушивания - дом, а пиковое время приходится на отрезок между 11 утра и 5 вечера.

PUT (Person Using Television) -общее количество человек, смотревших телевизор в рассматриваемый период времени.

Ratecard - рейткард. Расценки на рекламное пространство, радио и телевизионное время. То же, что прайс-лист. Как правило, на ТВ рейткардом называются расценки на покупку эфира по рейтингам.

Rating, TVR - рейтинг эфирного события. Рейтинг передачи (рекламного блока, временного промежутка) c учетом продолжительности просмотра и выражается в процентах от целевой группы. Рейтинг представляет собой Audience, выраженный в Gт целевой группы.

Reach (%/FONT> - охват. Количество человек в анализируемой целевой группе, смотревших эфирное событие не менее одной минуты.

Recency - теория медиапланирования Recency ("недавность") предлагает несколько иной взгляд на то, как работает реклама: реклама не формирует потребности человека в продукте независимо от частоты контактов, она всего лишь подталкивает человека при выборе конкретного бренда в тот момент, когда у него есть определенная потребность. При этом достаточно бывает одного контакта, чтобы человек выбрал именно рекламируемый бренд.

Road block - вертикальное размещение рекламного ролика по всем каналам в одно и то же время для получения максимального охвата.

Schedulings - стратегия размещения.

Share - доля аудитории. Процент ТЕЛЕЗРИТЕЛЕЙ, смотревших определенный канал. Рассчитывается как отношение зрителей эфирного событиия к общему количеству телезрителей (общему количеству человек, входящих в анализируемую целевую группу, смотрящих ТВ во время анализируемого эфирного события).

Spot - выход (рекламного ролика).

Target audience - целевая аудитория. Группа людей, являющихся объектом рекламы, получатели рекламных сообщений. В идеале целевая аудитория совпадает с целевой группой. На практике же полного совпадения достичь невозможно, поэтому для описания (выделения) целевой аудитории используют те или иные социально-демографические характеристики.

Target group - целевая группа. Группа потенциальных потребителей, представляющая наибольший интерес для рекламодателя, на которую направлена его маркетинговая и рекламная деятельность.

Total TV audience - аудитория ВСЕХ ТЕЛЕКАНАЛОВ во время анализируемого эфирного события (выражается в тысячах человек). Рассчитывается как среднее количество человек в анализируемой целевой группе, которые смотрели телевизор (любой из телеканалов) во время анализируемого эфирного события.

Total TV TVR - рейтинг ВСЕХ ТЕЛЕКАНАЛОВ во время анализируемого эфирного события. Рассчитывается как Total TV Audience, выраженная в Gт целевой аудитории.

TRP (Target group Rating Points) - сумма рейтингов, набранная в целевой группе за весь расчетный период рекламной кампании.

TTL (Through-The-Line) - комплекс услуг, сочетающий использование как ATL, так и BTL рекламы.

Базовая аудитория телеканала - целевая аудитория, для которой установлены цены в прайс-листе соответствующего телеканала.

Выборка - группа людей, отобранная исследователями из генеральной совокупности для участия в исследовании.

Генеральная совокупность - группа населения, из которой производится выборка респондентов для исследования. В качестве генеральной совокупности может рассматриваться население всей страны в целом, население отдельного региона, конкретного города, либо же специфическая группа населения, обладающая определенными социально-демографическими параметрами. Например, "ГС 12 Москвы" - все население Москвы старше 12 лет.

Индекс соответствия (Affinity Index) - индекс, показывающий, насколько чаще издание читают представители целевой группы, чем население в целом (рейтинг в целевой группе, деленный на рейтинг среди всех респондентов, умноженный на 100).

Медиаплан - план размещения рекламных обращений. Содержит календарный график выходов рекламы и основные медиапоказатели (GRP, охват и пр.).

Медиапланирование - выбор оптимальных каналов размещения рекламы (рекламных контактов), проводимый с целью достижения максимальной эффективности рекламной кампании.

Охват рекламной кампании - процент представителей целевой группы, которые должны прочесть издания, использованные в плане (а вовсе не увидеть конкретное рекламное объявление).

Поздний прайм-тайм - временной интервал эфирного времени с 22:00 до 24:00.

Позиционирование - размещение рекламного ролика по согласованию Сторон в определенной очереди (порядке) среди рекламных роликов в рекламном блоке.

Прайм-тайм - следующие временные интервалы эфирного времени телеканалов, а именно:
будни – с 19:00 до 22:00 (включительно), выходные и праздничные дни – весь эфирный день, исключая интервал с 22:00 до 24:00.

Прогнозный рейтинг – плановое значение рейтинга, спрогнозированное Селлером до момента поставки фактических данных исследовательской организацией ЗАО «ТНС ГЭЛЛАП МЕДИА».

Рейтинг - количество человек, выраженное в Gт целевой аудитории, имевших возможность контакта с рекламным сообщением.

Рейтинг рекламного блока – соотношение среднего числа лиц в целевой аудитории, смотревших рекламный блок на всем его протяжении, выраженное в процентах к общему числу лиц данной целевой аудитории. Рейтинги измеряются исследовательской организацией ЗАО «ТНС ГЭЛЛАП МЕДИА» на основании измерения и расчета данных пиплметрической панели, состоящей из 2500 домохозяйств для городов России с населением свыше 100 тыс. человек. «GRP» – сумма рейтингов по базовой аудитории, набранная рекламными роликами различного хронометража в рамках рекламной кампании, приведенная к рекламному ролику условной продолжительности в 30” (Тридцать секунд).

Рекламный контакт - возможность целевой аудитории увидеть/услышать рекламное сообщение вне места и времени покупки.

Синдикативное исследование - исследование определенного рынка (например, рынка банковских услуг). При этом заказчиками этого исследования и, соответственно, потребителями результатов выступают не одна, а несколько компаний. Это позволяет существенно снизить финансовые затраты на проведение исследования и, в тоже время, получить интересующую информацию о рынке.

Средний объем аудитории номера (AIR - Average Issue Readership - аналог понятия "рейтинг" для прессы) - процент опрошенных, читающих один номер издания (в среднем).

Текущий рейтинг – на данный момент времени соответствует либо прогнозному рейтингу для блоков, по которым данные о фактических рейтингах еще не поставлены, либо фактическому рейтингу для блоков, по которым данные о фактических рейтингах уже поставлены.

Фактический рейтинг - действительное или фактическое значение рейтинга, определяемое на основании измерения и расчета данных пиплметрической панели исследовательской организацией ЗАО «ТНС ГЭЛЛАП МЕДИА».

Целевая аудитория - группа людей, являющихся объектом рекламы, получатели рекламных сообщений. Описывается чаще социально-демографическими характеристиками (пол, возраст и др.).

Целевая группа - группа потенциальных потребителей, представляющая наибольший интерес для рекламодателя, на эту группу направлена его маркетинговая и рекламная деятельность.

Частота - количество контактов целевой группы с рекламным объявлением за исследуемый промежуток рекламной кампании.

Эфирный день - период времени вещания канала с начала первой утренней программы до конца последней ночной программы, который рассматривается как единое целое. Не совпадает с календарными сутками. Может быть больше 24 часов! Календарные сутки 00:00 — 24:00 (всегда). Эфирный день 05:00 — 27:00 (т.е с 5 час. утра до 3 час. ночи).

Эффективная частота - частота контактов за указанный промежуток времени, которую медиаплэннер считает оптимальной для целей данной рекламной кампании.

Процесс медиапланирования для прессы

- Выбор изданий в план 
- Выбор форматов и типа размещения
- Рассчет эффективности и оптимизация плана (если потребуется)

Выбор изданий в план: основные критерии


- AIR - чем больше, тем лучше.
- Affinity Index - более 110, иначе размещение неэффективно.
- Соответствие тематике и стилистике рекламной кампании.

Выбор изданий в план: другие соображения


- Узкоспециальная пресса
- Реклама в изданиях "каталожного типа"
- Региональная пресса (не всегда можно и нужно выбирать только по данным исследования).
- Нестандартное размещение (его нельзя точно обсчитать на предмет эффективности).

Форматы и типы размещения рекламы


- Программа, считающая эффективность стандартным образом, не может отразить преимущества/недостатки особенностей размещения.
- При обычном запуске расчетов эффективности программа не делает поправок на размер рекламного объявления, его позиционирование, вкладки, вклейки и т.д.
- Данных о преимуществах/недостатках различных типов размещения в прессе на российском рынке нет.

Как рассчитывается эффективность медиаплана по прессе?


- Медиаплан по прессе выглядит практически так же, как по телевидению или радио (т.е. в нем присутствуют рейтинги, GRP (TRP), охват и распределение по частотам.
- Но при этом не учитывается то, что читатель, как правило, обращается к изданию не один раз.

Журналы: среднее количество обращений к одному номеру

Журналы

Все взрослые

Мужчины

Женщины

Все платные журналы

5.4

5.8

5.1

TV - гиды

9.9

9.9

10.0

Мужские журналы

5.9

6.3

3.9

Дом & интерьер

5.8

5.4

6.0

Авто

4.7

5.2

2.2

Женские журналы

5.1

3.4

5.4

Внутренняя политика и финансы

4.1

4.6

3.0

Футбол

4.0

4.5

2.0

Особенности рассчетов эффективности в прессе


- В отличие от радио и ТВ, к рекламе в прессе читатель может возвращаться.
- Когда человек берет издание в руки, он уже готов воспринимать информацию в заданном виде и на заданную тему.
- Реклама в прессе меньше раздражает, чем реклама в электронных СМИ.

Журналы: отношение читателей к рекламе в издании


- 65Jогласны с тем, что реклама является неотъемлемой частью издания
- 62Fравится реклама в журналах
- До 69Ѓпо разным категориям) видят в рекламе источник полезной информации
- До 72Nотели бы купить рекламируемый товар (это для женских журналов и косметики)

Стандартные ошибки при планировании прессы с использованием данных


- Невнимание к описанию целевой группы и ее объему в исследовании
- Переоценка значения AIR и недоучет индекса соответствия
- Невнимание к теме и жанру рекламного объявления
- Попытки планировать специализированную прессу с учетом рейтингов.

 

(С) ООО "Единая Служба Объявлений" 2007 г.,
www.eso-online.ru

Error
Errors while compiling a Template. Please try the following to solve the situation: * If the problem is about missing/invalid references or multiple defines either try to load the missing references manually (in the compiling appdomain!) or Specify your references manually by providing your own IReferenceResolver implementation. See https://antaris.github.io/RazorEngine/ReferenceResolver.html for details. Currently all references have to be available as files! * If you get 'class' does not contain a definition for 'member': try another modelType (for example 'null' to make the model dynamic). NOTE: You CANNOT use typeof(dynamic) to make the model dynamic! Or try to use static instead of anonymous/dynamic types. More details about the error: - error: (79, 47) Имя "CurrentBottomBanners" отсутствует в текущем контексте - error: (83, 47) Имя "CurrentBottomBanners" отсутствует в текущем контексте - error: (91, 62) Имя "CurrentBottomBanners" отсутствует в текущем контексте Temporary files of the compilation can be found in (please delete the folder): C:\Windows\TEMP\RazorEngine_sot3fk4q.kg4 The template we tried to compile is: ------------- START ----------- @using System.Web; @using System.Web.WebPages; @using Axon.Core; @using Axon.CMS; @using Axon.CMS33.Helpers; @model AxonPage @{ Layout = null; var Page = AxonPage.Current; var Lang = AxonRequest.DisplayLang; //var BottomBanners = AxonConfig.Get< Dictionary<string,object> >("Banners/Bottom"); // @String.Join(",",AxonConfig.GetKeys(BottomBanners)) //var CurrentBottomBanners = BottomBanners.ContainsKey(Lang) ? BottomBanners[Lang] : new System.Dynamic.ExpandoObject(); //<!-- _body_end @CurrentBottomBanners @String.Join(",",AxonConfig.GetKeys(CurrentBottomBanners)) --> //var BottomBanners = AxonConfig.Get<IEnumerable<object>>("Banners/Bottom/Map"); //dynamic MapsBanners = (BottomBanners == null)?null: BottomBanners.Map[Lang]; //var a1=MapsBanners; //var Lat = AxonConfig.Get<Dictionary<string,string>>(BottomBanners,"Map"); //var MapInfo = BottomBanners == null ? new Dictionary<string,string>() : AxonConfig.Get<Dictionary<string,string>>(BottomBanners,"Map"); //var MapInfo = new Dictionary<string,string>(); } <script> function RunReadyJS_Main() { if (window["readyjs_Main"] == null) { console.error("readyjs_Main is undefined"); alert("Некритичная проблема при загрузке, пожалуйста, обновите страницу - Ctrl+F5 на компьютере, свайп вниз на телефоне или планшете."); } else { console.log("Before readyjs_Main"); var readyjs_MainFunc = window["readyjs_Main"]; readyjs_MainFunc(); console.log("After readyjs_Main"); } } try { /// Можно искать window["readyjs_Main"], чтобы не эвалить //AxonReady(function () { return eval("readyjs_Main()"); }); AxonReady(RunReadyJS_Main); } catch (e) { console.log("Error in jQuery.ready: " + e.message); console.log(e) alert("Некритичная проблема при загрузке, пожалуйста, обновите страницу - Ctrl+F5 на компьютере, свайп вниз на телефоне или планшете."); } </script> @*<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="js/scripts.js"></script>*@ <script> @*function initMapGoogle(canvas) { var center = { lat: @(AxonConfig.Get<string>(CurrentBottomBanners, "Map.Lat")), lng: @(AxonConfig.Get<string>(CurrentBottomBanners, "Map.Long")) }; var canvas = document.querySelectorAll(canvas); canvas.forEach(function(element){ var map = new google.maps.Map(element, { center: center, zoom: 17, mapTypeControl: false, streetViewControl: false, }); var infowindow = new google.maps.InfoWindow({ content: '@(AxonConfig.Get<string>(CurrentBottomBanners, "Map.Address"))' //'г. Киев, ул. Сырецкая, д.31, скл.№9' }); var marker = new google.maps.Marker({ position: center, map: map }); marker.addListener('click', function() { infowindow.open(map, this); }); }) }*@ function initMap2Gis(canvas) { var center = { lat: @(AxonConfig.Get<string>(CurrentBottomBanners, "Map.Lat")), lng: @(AxonConfig.Get<string>(CurrentBottomBanners, "Map.Long")) }; var AddressOnMap = '@Page.Lang(Page.GeoString("Address"))'; var mapZoom = parseInt('@(AxonConfig.Get<string>(CurrentBottomBanners, "Map.Zoom"))'); if (isNaN(mapZoom)) { mapZoom = 16;} var canvas = document.querySelectorAll(canvas); canvas.forEach(function (element) { /// Блок для информации var mapBlock = document.createElement('div'); mapBlock.id = 'mapBlock'; //mapBlock = document.getElementById('mapBlock'); var container = document.createElement('div'); container.id = 'map'; container.style.width = '100%'; container.style.height = '100%'; //mapBlock.appendChild(container); element.appendChild(container); element.appendChild(mapBlock); DG.then(function(){ window.mapelement = window.mapelement || DG.map('map', { center: [center.lat, center.lng],///[54.98, 82.89], zoom: mapZoom }); window.mapmarker = window.mapmarker || DG.marker([center.lat, center.lng]).addTo(window.mapelement); window.mapmarker.bindPopup(AddressOnMap); }); @*var map = new google.maps.Map(element, { center: center, zoom: 17, mapTypeControl: false, streetViewControl: false, }); var infowindow = new google.maps.InfoWindow({ content: '@(AxonConfig.Get<string>(CurrentBottomBanners, "Map.Address"))' //'г. Киев, ул. Сырецкая, д.31, скл.№9' }); var marker = new google.maps.Marker({ position: center, map: map }); marker.addListener('click', function() { infowindow.open(map, this); });*@ }) } @*function textil_start_google() { var Lang = '@(Page.Language)'; var APIkey = '@(AxonConfig.Get<string>("Assets.GoogleAPI"))'; $(document).on('click', '.modal-open-btn[href="#modal-map"]', function(){ $.getScript('https://maps.googleapis.com/maps/api/js?key='+APIkey+'&language='+Lang, function(){ initMap('#modal-map .map-canvas'); }) }) if($('.contacts .map-canvas')[0]){ $.getScript('https://maps.googleapis.com/maps/api/js?key='+APIkey+'&language='+Lang, function() { initMap('.contacts .map-canvas'); }) } }*@ function textil_start_2gis() { var Lang = '@(Page.Language)'; //var APIkey = '@(AxonConfig.Get<string>("Assets.2Gis"))'; $(document).on('click', '.modal-open-btn[href="#modal-map"]', function(){ $.getScript('https://maps.api.2gis.ru/2.0/loader.js?pkg=full&&skin=light&lazy=true', function(){ initMap2Gis('#modal-map .map-canvas'); }) }) if($('.contacts .map-canvas')[0]){ $.getScript('https://maps.api.2gis.ru/2.0/loader.js?pkg=full&&skin=light&lazy=true', function() { initMap2Gis('.contacts .map-canvas'); }) } } AxonReady(textil_start_2gis); </script> <!-- /_body_end --> ------------- END ----------- The generated source code is: ------------- START ----------- //------------------------------------------------------------------------------ // <auto-generated> // Этот код создан программой. // Исполняемая версия:4.0.30319.42000 // // Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае // повторной генерации кода. // </auto-generated> //------------------------------------------------------------------------------ namespace CompiledRazorTemplates.Dynamic { using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.WebPages; using Axon.Core; using Axon.CMS; using Axon.CMS33.Helpers; public class RazorEngine_3419b0c290974e3e849844793cd05bbf : Axon.Core.Razor.RazorTemplateBase<AxonPage> { public RazorEngine_3419b0c290974e3e849844793cd05bbf() { } public override void Execute() { Layout = null; var Page = AxonPage.Current; var Lang = AxonRequest.DisplayLang; //var BottomBanners = AxonConfig.Get< Dictionary<string,object> >("Banners/Bottom"); // @String.Join(",",AxonConfig.GetKeys(BottomBanners)) //var CurrentBottomBanners = BottomBanners.ContainsKey(Lang) ? BottomBanners[Lang] : new System.Dynamic.ExpandoObject(); //<!-- _body_end @CurrentBottomBanners @String.Join(",",AxonConfig.GetKeys(CurrentBottomBanners)) --> //var BottomBanners = AxonConfig.Get<IEnumerable<object>>("Banners/Bottom/Map"); //dynamic MapsBanners = (BottomBanners == null)?null: BottomBanners.Map[Lang]; //var a1=MapsBanners; //var Lat = AxonConfig.Get<Dictionary<string,string>>(BottomBanners,"Map"); //var MapInfo = BottomBanners == null ? new Dictionary<string,string>() : AxonConfig.Get<Dictionary<string,string>>(BottomBanners,"Map"); //var MapInfo = new Dictionary<string,string>(); WriteLiteral(@" <script> function RunReadyJS_Main() { if (window[""readyjs_Main""] == null) { console.error(""readyjs_Main is undefined""); alert(""Некритичная проблема при загрузке, пожалуйста, обновите страницу - Ctrl+F5 на компьютере, свайп вниз на телефоне или планшете.""); } else { console.log(""Before readyjs_Main""); var readyjs_MainFunc = window[""readyjs_Main""]; readyjs_MainFunc(); console.log(""After readyjs_Main""); } } try { /// Можно искать window[""readyjs_Main""], чтобы не эвалить //AxonReady(function () { return eval(""readyjs_Main()""); }); AxonReady(RunReadyJS_Main); } catch (e) { console.log(""Error in jQuery.ready: "" + e.message); console.log(e) alert(""Некритичная проблема при загрузке, пожалуйста, обновите страницу - Ctrl+F5 на компьютере, свайп вниз на телефоне или планшете.""); } </script> "); WriteLiteral("\r\n<script>\r\n\t\t"); WriteLiteral("\r\n\t\tfunction initMap2Gis(canvas) {\r\n\t\t\tvar center = {\r\n\t\t\t\tlat: "); Write(AxonConfig.Get<string>(CurrentBottomBanners, "Map.Lat")); WriteLiteral(",\r\n\t\t\t\tlng: "); Write(AxonConfig.Get<string>(CurrentBottomBanners, "Map.Long")); WriteLiteral("\r\n\t\t\t};\r\n\t\t\tvar AddressOnMap = \'"); Write(Page.Lang(Page.GeoString("Address"))); WriteLiteral("\';\r\n\t\t\tvar mapZoom = parseInt(\'"); Write(AxonConfig.Get<string>(CurrentBottomBanners, "Map.Zoom")); WriteLiteral(@"'); if (isNaN(mapZoom)) { mapZoom = 16;} var canvas = document.querySelectorAll(canvas); canvas.forEach(function (element) { /// Блок для информации var mapBlock = document.createElement('div'); mapBlock.id = 'mapBlock'; //mapBlock = document.getElementById('mapBlock'); var container = document.createElement('div'); container.id = 'map'; container.style.width = '100%'; container.style.height = '100%'; //mapBlock.appendChild(container); element.appendChild(container); element.appendChild(mapBlock); DG.then(function(){ window.mapelement = window.mapelement || DG.map('map', { center: [center.lat, center.lng],///[54.98, 82.89], zoom: mapZoom }); window.mapmarker = window.mapmarker || DG.marker([center.lat, center.lng]).addTo(window.mapelement); window.mapmarker.bindPopup(AddressOnMap); }); "); WriteLiteral("\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t"); WriteLiteral("\r\n\tfunction textil_start_2gis() {\r\n\t\tvar Lang = \'"); Write(Page.Language); WriteLiteral("\';\r\n\t\t//var APIkey = \'"); Write(AxonConfig.Get<string>("Assets.2Gis")); WriteLiteral(@"'; $(document).on('click', '.modal-open-btn[href=""#modal-map""]', function(){ $.getScript('https://maps.api.2gis.ru/2.0/loader.js?pkg=full&&skin=light&lazy=true', function(){ initMap2Gis('#modal-map .map-canvas'); }) }) if($('.contacts .map-canvas')[0]){ $.getScript('https://maps.api.2gis.ru/2.0/loader.js?pkg=full&&skin=light&lazy=true', function() { initMap2Gis('.contacts .map-canvas'); }) } } AxonReady(textil_start_2gis); </script> <!-- /_body_end -->"); } } } ------------- END ----------- List of loaded Assemblies: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_64\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Caching\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.Caching.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Utilities.v4.0\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Utilities.v4.0.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.JScript\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.JScript.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\098628e2\00eac7a6_b34fd901\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\6c7a42bb\003c87e2_1a87d401\System.Web.WebPages.Deployment.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.Web.PageInspector.Loader\v4.0_1.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Web.PageInspector.Loader.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\8f75b1ca\003c87e2_1a87d401\System.Web.WebPages.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\109ace4b\000e9c93_3d27cf01\System.Web.Optimization.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\4586d11b\00cdd33c_1a87d401\System.Web.Mvc.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\4aba36a3\003c87e2_1a87d401\System.Web.WebPages.Razor.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\ef4088d0\00848278_5b6acd01\Microsoft.Web.Infrastructure.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Services\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.IdentityModel\v4.0_4.0.0.0__b77a5c561934e089\System.IdentityModel.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel\v4.0_4.0.0.0__b77a5c561934e089\System.ServiceModel.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activation\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activation.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Web\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Web.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.Activities.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activities.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.WorkflowServices\v4.0_4.0.0.0__31bf3856ad364e35\System.WorkflowServices.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Extensions\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.Extensions.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.DynamicData\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.DynamicData.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\c0e4950c\003096e6_42aece01\Antlr3.Runtime.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\f6fb5b14\bbe5ed61_405eda01\Axon.CMS.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\0e6b0cc1\2767ec60_405eda01\Axon.Core.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\660ddfcd\c583b063_405eda01\AxonCMS33.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\5b20048d\3a325660_405eda01\AxonInformer.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\faeff04b\450b8df4_a29ad601\Equa.JSEval.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\7ef31f7c\0021367d_391cd401\GenericParsing.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\82fb8523\00f003e1_db08d601\Google.Apis.Auth.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\834d5c47\006970dd_db08d601\Google.Apis.Core.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\1e62f80c\0096a1de_db08d601\Google.Apis.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\2d081a6b\00787b6d_472fd601\Google.Apis.Sheets.v4.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\3f16016e\00f4f995_a7f8d401\Newtonsoft.Json.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\9d449d34\0019cf93_c3e6d201\RazorEngine.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\0780c400\003894f8_e631d501\RestSharp.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\ceccf8ac\7e202460_405eda01\SgmlReaderDll.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\413c2818\6ed21560_405eda01\SmscApiDll.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\16820a4c\0032a15a_1a87d401\System.Net.Http.Formatting.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\7fc28064\003c87e2_1a87d401\System.Web.Helpers.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\ad9e5893\004eef68_1a87d401\System.Web.Http.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\8bf34e2a\008013ae_1a87d401\System.Web.Http.WebHost.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\5ee4b111\007a7eab_6ce7ce01\System.Web.Providers.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\f0d9cb12\0016534c_1a87d401\System.Web.Razor.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\f026d663\001bc110_4318cf01\WebGrease.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Services.Design\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Services.Design.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\App_global.asax.uv_hc9zw.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Dynamic\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Dynamic.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp.resources\v4.0_4.0.0.0_ru_b03f5f7f11d50a3a\Microsoft.CSharp.resources.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Net.Http.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\System.Data.resources.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_64\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\SMDiagnostics\v4.0_4.0.0.0__b77a5c561934e089\SMDiagnostics.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Mobile\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.RegularExpressions\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.RegularExpressions.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Linq.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\App_Web_404.cshtml.a8d08dba.j-fspsgt.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\App_Web_flg2bvk3.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\App_Web_bar3dr52.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\App_Web_uej1kc3d.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\App_Web_w2tif2eq.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\assembly\dl3\ce1170a5\00d83e58_1a87d401\System.Web.Razor.resources.dll Loaded Assembly: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\System.resources.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\App_Web_error.cshtml.a8d08dba.27bdlyj6.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\App_Web_lbe42wix.dll Loaded Assembly: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f0be1a53\e9361788\App_Web_svg.cshtml.ed35399e.7_lcsd3d.dll