Ави Кац предлагает сдаться: Сеть Cofix с кофе за 50 рублей штурмует Россию. Кофе кофикс


Кофейни Cofix

Показать на карте

Показать списком

  • Cofix

    Москва, Багратионовский проезд, 7 к.2

  • Cofix

    Москва, пл. Киевского вокзала, д. 1

  • Cofix

    Москва, ул. Планерная д. 7

  • Cofix

    ТРК "VEGAS", Каширское шоссе Москва, МКАД, 24-й километр

  • Cofix

    ТРК "Красный Кит", г. Мытищи, Шараповский проезд, вл. 2, 2 этаж, зона фуд-корта

  • Cofix

    МЕГА "Белая Дача", Московская область, Котельники, 1-й Покровский проезд, 5

  • Cofix

    ТРЦ Авиапарк, Москва, Ходынский б-р, 4. 4 этаж, напротив кинотеатра КАРО Sky

  • Cofix

    ТРЦ Калейдоскоп, Москва, ул. Сходненская, д. 56, 1 этаж, боковой вход со стороны Химкинского бул.

  • Cofix

    ТРК Vegas Крокус-Сити, 3 этаж, зона фуд-корта Московская обл., 66 км МКАД, Крокус Сити

  • Cofix

    Москва, ул. Бауманская д. 33/2 стр. 1

  • Cofix

    Москва, Тверская ул., 27, 1 этаж

  • Cofix

    Москва, ТК «Охотный Ряд», Манежная пл., 1, стр. 2, нижний уровень, зона фудкорта.

  • Cofix

    Москва, Здание Павелецкого вокзала, Павелецкая пл., д. 1А 3й подъезд

  • Cofix

    Москва, ТЦ «Водный», Головинское ш., 5, 1 этаж, напротив гипермаркета ОКЕЙ

  • Cofix

    Москва, Нижний Сусальный пер., д. 5 стр. 1

  • Cofix

    Москва, ТРЦ Золотой Вавилон Ростокино, проспект Мира, д. 211, к. 2, 2й уровень, зона фуд-корта.

  • Cofix

    Москва, ТРЦ Золотой Вавилон Отрадное ул. Декабристов, д.12

  • Cofix

    Химки, Московская обл., ТЦ МЕГА Химки Микрорайон ИКЕА, к. 4, прикассовая зона гипермаркета АШАН

  • Cofix

    Москва, ТЦ Калужский ул. Профсоюзная, 61А

  • Cofix

    Москва, ТРЦ "Афимолл Сити" Пресненская наб., 2, 1 этаж, вход в ТРЦ со станции место Выставочная

  • Cofix

    Москва, ТЦ Город Лефортово, шoccе Энтузиастов, д. 12, к. 2, 3 этаж, зона фуд-корта

  • Cofix

    Москва, Кузнецкий мост, д.12/3, стр.1

  • Cofix

    Москва, Комсомольский проспект, 28, Московский Дворец Молодежи

  • Cofix

    Москва, Вернадского пр., д. 86А, ТРЦ "Avenue Southwest"

  • Cofix

    Москва, Сокольническая пл., 9А

  • Cofix

    Москва, Автозаводская ул., 18, ТРЦ "Ривьера"

  • Cofix

    Мытищи, ул. Селезнева, 33, ТЦ "Перловский"

  • Cofix

    Пятницкая ул., 31/2, стр. 5

  • Cofix

    Москва, ТЦ "Метрополис", Ленинградское шоссе, 16А, 3 этаж напротив ЦУМ Дисконта

  • Cofix

    Москва, ул. Покровка, д. 14/2, стр. 1

  • Cofix

    Москва, ул. Солянка, 2/6

  • Cofix

    Москва, площадь Тверская застава, д.3

  • Cofix

    Москва, ТРЦ Гагаринский, Вавилова ул., 3, 3 этаж, фуд-корт

  • Cofix

    Москва, Аэропорт Шереметьево, терминал Аэроэкспресса

  • Cofix

    Москва, Люсиновская д.2, стр.1

  • Cofix

    Москва, ТРК Щука, ул. Щукинская, 42

  • Cofix

    Москва, Ленинградский пр., 60, к. 1

  • Cofix

    Москва, ул. Кировоградская, 13а, ТРЦ "Columbus",  -1 этаж

  • Cofix

    Cofix ТРЦ "Зеленопарк", Московская область, г. Зеленоград, 18 км от МКАД по Ленинградскому шоссе

  • Москва Багратионовский проезд, 7 к.2

    Режим работыПонедельник - Воскресенье 08:00 - 22:00 Телефон: +7(925) 463 83 51

  • Москва пл. Киевского вокзала, д. 1

    Режим работыПонедельник - Воскресенье 07:00 - 22:00 Телефон: +7(926) 720 45 22

  • Москва ул. Планерная д. 7

    Режим работыПонедельник - Воскресенье 09:00 - 22:00 Телефон: +7(925) 796 42 79

  • Москва ТРК "VEGAS", Каширское шоссе МКАД, 24-й километр

    Режим работыВоскресенье - Четверг 10.00 - 23.00, Пятница - Суббота 10.00 - 00.00 Телефон: +7 (968) 367 08 70

  • Москва ТРК "Красный Кит", г. Мытищи, Шараповский проезд, вл. 2, 2 этаж, зона фуд-корта

    Режим работыПонедельник - Воскресенье: 09:00 - 22:00 Телефон: + 7 968 409 98 27

  • Москва МЕГА "Белая Дача", Московская область, Котельники, 1-й Покровский проезд, 5

    Режим работыВоскресенье - Четверг 10.00 - 23.00 Пятница - Суббота 10.00 - 00.00 Телефон: +7 (965) 347 20 47

  • Москва ТРЦ Авиапарк, Ходынский б-р, 4. 4 этаж, напротив кинотеатра КАРО Sky

    Режим работыВоскресенье-Четверг: 10.00-22.00 Пятница-Суббота: 10.00-23.00 Телефон: +7 (915) 277 05 21

  • Москва ТРЦ Калейдоскоп, ул. Сходненская, д. 56, 1 этаж, боковой вход со стороны Химкинского бул.

    Режим работыПонедельник-Воскресенье: 09.00 - 22.00 Телефон: +7 (985) 236 81 60

  • Москва ТРК Vegas Крокус-Сити, 3 этаж, зона фуд-корта Московская обл., 66 км МКАД, Крокус Сити

    Режим работыВоскресенье-Четверг: 10.00 - 23.00 Пятница-Суббота: 10.00 - 24.00 Телефон: +7 (985) 612 09 36

  • Москва ул. Бауманская д. 33/2 стр. 1

    Режим работыПонедельник - Воскресенье 08:00 - 22:00 Телефон: +7(925) 103 05 46

  • Москва Тверская ул., 27, 1 этаж

    Режим работыПонедельник - Воскресенье 08:00 - 22:00 Телефон: +7(925) 750 31 08

  • Москва ТК «Охотный Ряд», Манежная пл., 1, стр. 2, нижний уровень, зона фудкорта.

    Режим работыПонедельник - Воскресенье с 10:00 до 22:00 Телефон: +7 (910) 470-32-70

  • Москва Здание Павелецкого вокзала, Павелецкая пл., д. 1А 3й подъезд

    Режим работыПонедельник - Воскресенье с 07:00 до 23:30 Телефон: +7 (910) 470-33-48

  • Москва ТЦ «Водный», Головинское ш., 5, 1 этаж, напротив гипермаркета ОКЕЙ

    Режим работыПонедельник - Воскресенье с 08:00 до 22:00 Телефон: +7 (910) 470-31-66

  • Москва Нижний Сусальный пер., д. 5 стр. 1

    Режим работыПонедельник - Пятница с 07:00 до 23:00 Суббота - Воскресенье с 08:00 до 22:00 Телефон: +7 (915) 043-85-35

  • Москва ТРЦ Золотой Вавилон Ростокино, проспект Мира, д. 211, к. 2, 2й уровень, зона фуд-корта.

    Режим работыПонедельник - Воскресенье с 10:00 до 22:00 Телефон: +7(985) 938 19 89

  • Москва ТРЦ Золотой Вавилон Отрадное ул. Декабристов, д.12

    Режим работыПонедельник-Воскресенье с 09:00 до 22:00 Телефон: +7 (916) 938-05-26

  • Москва Химки, Московская обл., ТЦ МЕГА Химки Микрорайон ИКЕА, к. 4, прикассовая зона гипермаркета АШАН

    Режим работыПонедельник-Четверг: с 8:30 до 23:00 Пятница-Воскресенье: с 7:30 до 23:00 Телефон: +7 (968) 632 64 54

  • Москва ТЦ Калужский ул. Профсоюзная, 61А

    Режим работыПонедельник-Воскресенье: с 10:00 до 23:00 Телефон: +7 (968) 432-81-15

  • Москва ТРЦ "Афимолл Сити" Пресненская наб., 2, 1 этаж, вход в ТРЦ со станции место Выставочная

    Режим работыпонедельник - четверг 10:00 - 22:00 пятница - воскресенье 10:00 - 23:00 Телефон: +7 (977) 690 89 59

  • Москва ТЦ Город Лефортово, шoccе Энтузиастов, д. 12, к. 2, 3 этаж, зона фуд-корта

    Режим работыПонедельник-Воскресенье 09:00 - 22:00 Телефон: +7 (977) 738 12 20

  • Москва Кузнецкий мост, д.12/3, стр.1

    Режим работыПонедельник - Воскресенье 08:00 - 22:00 Телефон: +7 (903) 721 15 03

  • Москва Комсомольский проспект, 28, Московский Дворец Молодежи

    Режим работыПонедельник-Воскресенье 07:00 -23:00 Телефон: +7 (926) 105 07 00

  • Москва Вернадского пр., д. 86А, ТРЦ "Avenue Southwest"

    Режим работыПонедельник - Воскресенье: 10:00 - 22:00 Телефон: +7 (985) 387 43 46

  • Москва Сокольническая пл., 9А

    Режим работыПонедельник - Воскресенье: 08:00 - 22:00 Телефон: +7 (916) 146 67 93

  • Москва Автозаводская ул., 18, ТРЦ "Ривьера"

    Режим работыПонедельник - Воскресенье: 10:00 - 22:00 Телефон: +7 (963) 610 65 46

  • Москва Мытищи, ул. Селезнева, 33, ТЦ "Перловский"

    Режим работыПонедельник - Воскресенье: 08:30 - 22:00 Телефон: +7 (926) 204 84 16

  • Москва Пятницкая ул., 31/2, стр. 5

    Режим работыПонедельник - Воскресенье: 08:00 - 22:00 Телефон: +7 (926) 720 45 22

  • Москва ТЦ "Метрополис", Ленинградское шоссе, 16А, 3 этаж напротив ЦУМ Дисконта

    Режим работыПонедельник - Воскресенье 10:00-23:00 Телефон: +7 (903) 263 76 37

  • Москва ул. Покровка, д. 14/2, стр. 1

    Режим работыПонедельник - Пятница 07:00 - 23:00 Суббота - Воскресенье 09:00 - 23:00 Телефон: +7 (965) 136 47 27

  • Москва ул. Солянка, 2/6

    Режим работыПонедельник-Пятница: 7:30 - 22:00 Суббота-Воскресенье: 09:00 - 22:00 Телефон: +7 (999) 985 63 98

  • Москва площадь Тверская застава, д.3

    Режим работыПонедельник-Воскресенье 07:00 - 22:00 Телефон: +7 (965) 249 08 72

  • Москва ТРЦ Гагаринский, Вавилова ул., 3, 3 этаж, фуд-корт

    Режим работыПонедельник-Воскресенье 09.00 - 22.00 Телефон: +7(925)1956727

  • Москва Аэропорт Шереметьево, терминал Аэроэкспресса

    Режим работыПонедельник- Воскресенье 07:30 - 21:00 Телефон: +7 (977) 788 99 64

  • Москва Люсиновская д.2, стр.1

    Режим работыПонедельник - Воскресенье 09:00 - 21:00 Телефон: +7 (926) 365 00 36

  • Москва ТРК Щука, ул. Щукинская, 42

    Режим работыПонедельник - Воскресенье 10:00 - 22:00 Телефон: +7 (925) 384 02 18

  • Москва Ленинградский пр., 60, к. 1

    Режим работыПонедельник-Воскресенье: 7:30 - 22:00 Телефон: +7 (925) 331 60 98

  • Москва ул. Кировоградская, 13а, ТРЦ "Columbus",  -1 этаж

    Режим работыПонедельник - Воскресенье 09:00 - 22:00 Телефон: +7 (929) 566 52 30

  • Москва Cofix ТРЦ "Зеленопарк", Московская область, г. Зеленоград, 18 км от МКАД по Ленинградскому шоссе

    Режим работыПонедельник - Воскресенье 10:00 - 22:00 Телефон: +7 (925) 772 49 94

' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Багратионовский проезд, 7 к.2", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6282'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6282', balloonContent: "Москва, Багратионовский проезд, 7 к.2м. Багратионовская Телефон: +7(925) 463 83 51\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
08:00 08:00 08:00 08:00 08:00 08:00 08:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6282']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, пл. Киевского вокзала, д. 1", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6281'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6281', balloonContent: "Москва, пл. Киевского вокзала, д. 1м. КиевскаяТелефон: +7(926) 720 45 22\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
07:00 07:00 07:00 07:00 07:00 07:00 07:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6281']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ул. Планерная д. 7", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6262'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6262', balloonContent: "Москва, ул. Планерная д. 7Метро: ПланернаяТелефон: +7(925) 796 42 79\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
09:00 09:00 09:00 09:00 09:00 09:00 09:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6262']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("ТРК "VEGAS", Каширское шоссе Москва, МКАД, 24-й километр", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['5821'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '5821', balloonContent: "ТРК "VEGAS", Каширское шоссе Москва, МКАД, 24-й километр

Телефон: +7 (968) 367 08 70

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10.00 10.00 10.00 10.00 10.00 10.00 10.00
23.00 23.00 23.00 23.00 00.00 00.00 23.00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['5821']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("ТРК "Красный Кит", г. Мытищи, Шараповский проезд, вл. 2, 2 этаж, зона фуд-корта", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['5822'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '5822', balloonContent: "ТРК "Красный Кит", г. Мытищи, Шараповский проезд, вл. 2, 2 этаж, зона фуд-корта

Телефон: + 7 968 409 98 27

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
09:00 09:00 09:00 09:00 09:00 09:00 09:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['5822']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("МЕГА "Белая Дача", Московская область, Котельники, 1-й Покровский проезд, 5", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['211'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '211', balloonContent: "МЕГА "Белая Дача", Московская область, Котельники, 1-й Покровский проезд, 5

Телефон: +7 (965) 347 20 47

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10.00 10.00 10.00 10.00 10.00 10.00 10.00
23.00 23.00 23.00 23.00 00.00 00.00 23.00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['211']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("ТРЦ Авиапарк, Москва, Ходынский б-р, 4. 4 этаж, напротив кинотеатра КАРО Sky", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['5701'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '5701', balloonContent: "ТРЦ Авиапарк, Москва, Ходынский б-р, 4. 4 этаж, напротив кинотеатра КАРО Sky

Телефон: +7 (915) 277 05 21

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10.0010.0010.0010.0010.0010.0010.00
22.0022.0022.0022.0023.0023.0022.00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['5701']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("ТРЦ Калейдоскоп, Москва, ул. Сходненская, д. 56, 1 этаж, боковой вход со стороны Химкинского бул.", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['208'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '208', balloonContent: "ТРЦ Калейдоскоп, Москва, ул. Сходненская, д. 56, 1 этаж, боковой вход со стороны Химкинского бул.

Телефон: +7 (985) 236 81 60

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
09.00 09.00 09.00 09.00 09.00 09.00 09.00
22.00 22.00 22.00 22.00 22.00 22.00 22.00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['208']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("ТРК Vegas Крокус-Сити, 3 этаж, зона фуд-корта Московская обл., 66 км МКАД, Крокус Сити", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['213'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '213', balloonContent: "ТРК Vegas Крокус-Сити, 3 этаж, зона фуд-корта Московская обл., 66 км МКАД, Крокус Сити

Телефон: +7 (985) 612 09 36

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10.00 10.00 10.00 10.00 10.00 10.00 10.00
23.00 23.00 23.00 23.00 24.00 24.00 23.00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['213']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ул. Бауманская д. 33/2 стр. 1", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6149'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6149', balloonContent: "Москва, ул. Бауманская д. 33/2 стр. 1ул. Бауманская д. 33/2 стр. 1Телефон: +7(925) 103 05 46\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
08:00 08:00 08:00 08:00 08:00 08:00 08:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6149']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Тверская ул., 27, 1 этаж", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6108'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6108', balloonContent: "Москва, Тверская ул., 27, 1 этажТверская ул., 27, 1 этажТелефон: +7(925) 750 31 08\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
08:00 08:00 08:00 08:00 08:00 08:00 08:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6108']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ТК «Охотный Ряд», Манежная пл., 1, стр. 2, нижний уровень, зона фудкорта.", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['34'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '34', balloonContent: "Москва, ТК «Охотный Ряд», Манежная пл., 1, стр. 2, нижний уровень, зона фудкорта.Метро: Охотный Ряд, Театральная, Площадь РеволюцииТелефон: +7 (910) 470-32-70\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10:00 10:00 10:00 10:00 10:00 10:00 10:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['34']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Здание Павелецкого вокзала, Павелецкая пл., д. 1А 3й подъезд", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['35'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '35', balloonContent: "Москва, Здание Павелецкого вокзала, Павелецкая пл., д. 1А 3й подъездНапротив выхода из метро Павелецкая радиальная в сторону площади Павелецкого вокзала (рядом с выходом №3 из здания вокзала)Метро: Павелецкая (радиальная)Телефон: +7 (910) 470-33-48 \n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
7:00 7:00 7:00 7:00 7:00 7:00 7:00
23:30 23:30 23:30 23:30 23:30 23:30 23:30
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['35']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ТЦ «Водный», Головинское ш., 5, 1 этаж, напротив гипермаркета ОКЕЙ", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['36'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '36', balloonContent: "Москва, ТЦ «Водный», Головинское ш., 5, 1 этаж, напротив гипермаркета ОКЕЙМетро: Водный СтадионТелефон: +7 (910) 470-31-66\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
8:00 8:00 8:00 8:00 8:00 8:00 8:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['36']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Нижний Сусальный пер., д. 5 стр. 1", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['187'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '187', balloonContent: "Москва, Нижний Сусальный пер., д. 5 стр. 1Метро: Курская, ЧкаловкаяТелефон: +7 (915) 043-85-35\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
07:00 07:00 07:00 07:00 07:00 08:00 08:00
23:00 23:00 23:00 23:00 23:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['187']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ТРЦ Золотой Вавилон Ростокино, проспект Мира, д. 211, к. 2, 2й уровень, зона фуд-корта.", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['231'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '231', balloonContent: "Москва, ТРЦ Золотой Вавилон Ростокино, проспект Мира, д. 211, к. 2, 2й уровень, зона фуд-корта.Метро: ВДНХТелефон: +7(985) 938 19 89\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10.00 10.00 10.00 10.00 10.00 10.00 10.00
22.00 22.00 22.00 22.00 22.00 22.00 22.00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['231']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ТРЦ Золотой Вавилон Отрадное ул. Декабристов, д.12", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['204'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '204', balloonContent: "Москва, ТРЦ Золотой Вавилон Отрадное ул. Декабристов, д.12Метро: ОтрадноеТелефон: +7 (916) 938-05-26\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
09:00 09:00 09:00 09:00 09:00 09:00 09:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['204']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Химки, Московская обл., ТЦ МЕГА Химки Микрорайон ИКЕА, к. 4, прикассовая зона гипермаркета АШАН", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['210'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '210', balloonContent: "Химки, Московская обл., ТЦ МЕГА Химки Микрорайон ИКЕА, к. 4, прикассовая зона гипермаркета АШАН

Телефон: +7 (968) 632 64 54

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\
ПнВтСрЧтПтСбВс
с 8:30 до 23:00 с 8:30 до 23:00 с 8:30 до 23:00 с 8:30 до 23:00 с 7:30 до 23:00с 7:30 до 23:00с 7:30 до 23:00
\n\ \n\ \n\ \n\ \n\ \n\
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['210']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ТЦ Калужский ул. Профсоюзная, 61А", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['206'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '206', balloonContent: "Москва, ТЦ Калужский ул. Профсоюзная, 61А

Телефон: +7 (968) 432-81-15

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\
ПнВтСрЧтПтСбВс
с 10:00 до 23:00 с 10:00 до 23:00 с 10:00 до 23:00 с 10:00 до 23:00 с 10:00 до 23:00 с 10:00 до 23:00 с 10:00 до 23:00
\n\ \n\ \n\ \n\ \n\ \n\
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['206']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ТРЦ "Афимолл Сити" Пресненская наб., 2, 1 этаж, вход в ТРЦ со станции место Выставочная", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['5958'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '5958', balloonContent: "Москва, ТРЦ "Афимолл Сити" Пресненская наб., 2, 1 этаж, вход в ТРЦ со станции место Выставочная

Телефон: +7 (977) 690 89 59

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10:00 10:00 10:00 10:00 10:00 10:00 10:00
22:00 22:00 22:00 22:00 23:00 23:00 23:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['5958']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ТЦ Город Лефортово, шoccе Энтузиастов, д. 12, к. 2, 3 этаж, зона фуд-корта", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['5761'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '5761', balloonContent: "Москва, ТЦ Город Лефортово, шoccе Энтузиастов, д. 12, к. 2, 3 этаж, зона фуд-кортаМетро: Авиамоторная, Площадь Ильича, РимскаяТелефон: +7 (977) 738 12 20\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
09:00 09:00 09:00 09:00 09:00 09:00 09:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['5761']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Кузнецкий мост, д.12/3, стр.1", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6879'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6879', balloonContent: "Москва, Кузнецкий мост, д.12/3, стр.1

Телефон: +7 (903) 721 15 03

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
08:00 08:00 08:00 08:00 08:00 08:00 08:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6879']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Комсомольский проспект, 28, Московский Дворец Молодежи", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6845'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6845', balloonContent: "Москва, Комсомольский проспект, 28, Московский Дворец Молодежи

Телефон: +7 (926) 105 07 00

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
07:00 07:00 07:00 07:00 07:00 07:00 07:00
23:0023:0023:0023:0023:0023:0023:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6845']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Вернадского пр., д. 86А, ТРЦ "Avenue Southwest"", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6712'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6712', balloonContent: "Москва, Вернадского пр., д. 86А, ТРЦ "Avenue Southwest"4 этаж, рядом с кинотеатромТелефон: +7 (985) 387 43 46\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10:00 10:00 10:00 10:00 10:00 10:00 10:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6712']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Сокольническая пл., 9А", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6711'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6711', balloonContent: "Москва, Сокольническая пл., 9А1 этажТелефон: +7 (916) 146 67 93\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
08:00 08:00 08:00 08:00 08:00 08:00 08:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6711']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Автозаводская ул., 18, ТРЦ "Ривьера"", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6710'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6710', balloonContent: "Москва, Автозаводская ул., 18, ТРЦ "Ривьера"1 этаж, напротив DecathlonТелефон: +7 (963) 610 65 46\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10:00 10:00 10:00 10:00 10:00 10:00 10:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6710']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Мытищи, ул. Селезнева, 33, ТЦ "Перловский"", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6709'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6709', balloonContent: "Мытищи, ул. Селезнева, 33, ТЦ "Перловский"2 этаж, фуд-кортТелефон: +7 (926) 204 84 16\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
08:30 08:30 08:30 08:30 08:30 08:30 08:30
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6709']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Пятницкая ул., 31/2, стр. 5", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6598'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6598', balloonContent: "Пятницкая ул., 31/2, стр. 5

Телефон: +7 (926) 720 45 22

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
08:00 08:00 08:00 08:00 08:00 08:00 08:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6598']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ТЦ "Метрополис", Ленинградское шоссе, 16А, 3 этаж напротив ЦУМ Дисконта", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6525'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6525', balloonContent: "Москва, ТЦ "Метрополис", Ленинградское шоссе, 16А, 3 этаж напротив ЦУМ Дисконта

Телефон: +7 (903) 263 76 37

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10:0010:0010:0010:0010:0010:0010:00
23:0023:0023:0023:0023:0023:0023:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6525']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ул. Покровка, д. 14/2, стр. 1", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6524'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6524', balloonContent: "Москва, ул. Покровка, д. 14/2, стр. 1

Телефон: +7 (965) 136 47 27

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
07:00 07:00 07:00 07:00 07:00 09:00 09:00
23:00 23:00 23:00 23:00 23:00 23:00 23:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6524']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ул. Солянка, 2/6", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6009'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6009', balloonContent: "Москва, ул. Солянка, 2/6

Телефон: +7 (999) 985 63 98

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
07:30 07:30 07:30 07:30 07:30 09:00 09:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6009']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, площадь Тверская застава, д.3", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['5686'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '5686', balloonContent: "Москва, площадь Тверская застава, д.3Метро: БелорусскаяТелефон: +7 (965) 249 08 72\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
07:00 07:00 07:00 07:00 07:00 08:00 08:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['5686']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ТРЦ Гагаринский, Вавилова ул., 3, 3 этаж, фуд-корт", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['5781'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '5781', balloonContent: "Москва, ТРЦ Гагаринский, Вавилова ул., 3, 3 этаж, фуд-кортМетро: Ленинский проспектТелефон: +7(925)1956727\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
09.00 09.00 09.00 09.00 09.00 09.00 09.00
22.00 22.00 22.00 22.00 22.00 22.00 22.00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['5781']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Аэропорт Шереметьево, терминал Аэроэкспресса", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['205'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '205', balloonContent: "Москва, Аэропорт Шереметьево, терминал Аэроэкспресса

Телефон: +7 (977) 788 99 64

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
07:30 07:30 07:30 07:30 07:30 07:30 07:30
21:00 21:00 21:00 21:00 21:00 21:00 21:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['205']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Люсиновская д.2, стр.1", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6028'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6028', balloonContent: "Москва, Люсиновская д.2, стр.1

Телефон: +7 (926) 365 00 36

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
09:00 09:00 09:00 09:00 09:00 09:00 09:00
21:00 21:00 21:00 21:00 21:00 21:00 21:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6028']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ТРК Щука, ул. Щукинская, 42", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['5823'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '5823', balloonContent: "Москва, ТРК Щука, ул. Щукинская, 42

Телефон: +7 (925) 384 02 18

\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10:00 10:00 10:00 10:00 10:00 10:00 10:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['5823']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, Ленинградский пр., 60, к. 1", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6370'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6370', balloonContent: "Москва, Ленинградский пр., 60, к. 1м. АэропортТелефон: +7 (925) 331 60 98\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
07:30 07:30 07:30 07:30 07:30 07:30 07:30
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6370']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Москва, ул. Кировоградская, 13а, ТРЦ "Columbus",  -1 этаж", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6449'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6449', balloonContent: "Москва, ул. Кировоградская, 13а, ТРЦ "Columbus",  -1 этажМосква, ул. Кировоградская , 13а, -1 этажТелефон: +7 (929) 566 52 30\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
09:00 09:00 09:00 09:00 09:00 09:00 09:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6449']); }); // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '' + '×' + '' + '

' + '$[[options.contentLayout observeSize minWidth=335 maxWidth=200 maxHeight=350]]' + '

' + '', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if (!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if (!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }); // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '

' + '

$[properties.balloonContent]

' ); ymaps.geocode("Cofix ТРЦ "Зеленопарк", Московская область, г. Зеленоград, 18 км от МКАД по Ленинградскому шоссе", {json: true}).then(function (res) { var coords = res.GeoObjectCollection.metaDataProperty.GeocoderResponseMetaData.Point.coordinates; coordinates.push(coords); geoObjects['6450'] = new ymaps.Placemark([coords[1], coords[0]], { balloonHeader: 'Cofix', id: '6450', balloonContent: "Cofix ТРЦ "Зеленопарк", Московская область, г. Зеленоград, 18 км от МКАД по Ленинградскому шоссеМосковская область, г. Зеленоград, 18 км от МКАД по Ленинградскому шоссеТелефон: +7 (925) 772 49 94\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\ " + "\n\ \n\ \n\ \n\ \n\ \n\ \n\
ПнВтСрЧтПтСбВс
10:00 10:00 10:00 10:00 10:00 10:00 10:00
22:00 22:00 22:00 22:00 22:00 22:00 22:00
" }, { balloonShadow: false, // balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, hideIconOnBalloonOpen: false, iconLayout: 'default#image', iconImageHref: '/images/placemark.png', // картинка иконки iconImageSize: [30, 43], // размер иконки iconImageOffset: [-15, -22] // позиция иконки); }); myMap.geoObjects.add(geoObjects['6450']); }); var menuContainer = jQuery('#map-cafe-list'); for (var item in coordinates) { // Создает ссылку, обернутую в тег

для лучшей читаемости jQuery("

  • " + item + "
  • ") // По щелчку на ссылке создает обработчик .bind('click', function () { // Перемещает карту myMap.panTo(geoPoint, {flying: 1}); return false; }) .end() // Записывает созданный элемент списка в список .appendTo(menuContainer); } } function openBalloon(id) { geoObjects[id].balloon.open(); }

    Нажмите «Нравится», чтобы присоединиться к Cofix в социальной сети Facebook.

    www.cofix.ru

    Сеть Cofix с кофе за 50 рублей штурмует Россию

    «Моя история — наглядный пример того, как можно стать немножко олигархом, заботясь при этом не только о себе, но и о других людях», — абсолютно серьёзно заявляет мне основатель крупнейшей в Израиле сети кофеен Cofix Ави Кац. Мы разговариваем в кафе отеля «Метрополь», где за чашку капучино Кацу приходится заплатить 390 рублей, а в Cofix — и это краеугольный камень бизнес-модели — все позиции меню, кофе и снеки, стоят всего 5 шекелей в Израиле и 50 рублей в России.

    В Израиле эта концепция сработала — с 2013 года сеть выросла до 152 точек. Выручка в первые шесть месяцев 2016 года — почти $30 млн. В России компания Каца работает с октября прошлого года. До сих пор она управляла тремя собственными кофе-барами, но в январе 2017-го Cofix продал первые пять франшиз и рассчитывает за пять лет построить федеральную сеть из 1000 заведений. Для сравнения, даже у «Шоколадницы» сейчас меньше 500 точек, у «Кофе Хауза» — в два раза меньше, у Starbucks — 75.

    54-летний Ави Кац — серийный предприниматель. До Cofix у этого энергичного бритоголового мужчины было десять других успешных компаний — в основном в ритейле. В некоторых из них он до сих пор остаётся акционером, но активно сейчас участвует только в жизни Cofix и краудинвестинговой платформы Hagshama. Акции этих двух проектов торгуются на бирже. Бумаги Cofix за прошлый год подорожали на 5,88% — компания хорошо чувствует себя на родине и, кроме того, начала международную экспансию. Помимо России в планах Великобритания и Турция.

    Российский рынок к формату пока относится скептически. Собеседники «Секрета» не верят в качественный кофе за 50 рублей. Сейчас чашка американо в московских кофейнях стоит в среднем 170 рублей, в регионах — 89,9 рублей. В ценовой категории Cofix пока нет ни одного игрока — разве только вендинговые автоматы. Но Кац уверен, что в России у него всё сложится, и хвастается, что даже сейчас, спустя четыре месяца после старта, в точке на Охотном ряду стоит очередь из 15 человек. «Секрет» выпил с бизнесменом кофе, чтобы узнать, на чём ещё основан его оптимизм.

    Серийный предприниматель

    Ави Кац родился в пригороде Тель-Авива в ортодоксальной еврейской семье. Ему было всего шесть, когда умер отец, и мать, одна с пятью детьми, едва сводила концы с концами. Предприниматель говорит, что впервые почувствовал себя взрослым, когда ей пришлось в очередной раз отдать в ремонт его изрядно потрёпанные башмаки. Именно тогда он решил, что сделает всё, чтобы вытащить близких из нищеты.

    В 11 лет Ави Кац начал много читать и до сих пор проглатывает минимум одну книгу в неделю. Даже если приходится это делать в ущерб отдыху. К слову, бизнесмен на тратит на сон всего лишь от двух до пяти часов в день. Кац отмечает, что на него особенно повлияли два произведения — «Источник» Айн Рэнд и «Боевой клич» Леона Юриса, которые побудили его бросить иешиву.

    «У того, что я делаю, всегда есть социальная цель», — рассказывает Кац. После армии он развивал множество проектов, среди которых Bee Retail Group (товары для дома и отдыха), Doctor Baby (товары для детей), Dollar Store (товары по фиксированной цене). «Стоимость жизни выросла необоснованно, и это результат целенаправленной политики лидеров рынка, — формулирует предприниматель. — Мы же предлагаем товары по реальным ценам. И это не мешает нам получать хорошую прибыль. Продаём дешевле — зато больше. У меня в жизни было 11 разных бизнесов. Во всех я смог заработать. Там, где нужно было продать бизнес и выйти, я это сделал».

    Из двух проектов, которыми Кац занимается сейчас, большего внимания, по его признанию, требует всё-таки фонд Hagshama, через который 29 000 человек инвестируют небольшие суммы (в среднем — $25 000) по всему миру и получают прибыль до 15% годовых. Если прибыли нет, фонд ничего не зарабатывает, если есть, Hagshama забирает себе 20%. За шесть лет проект получил немногим менее $40 млн прибыли.

    Cofix в Израиле

    Идея сети экстремально дешёвых кофеен, по словам Ави Каца, родилась в 2002 году, когда на заправке ему не хватило наличных, чтобы расплатиться за два кофе, пирожное и жвачку. Тогда, сидя в своём первом «мерседесе», бизнесмен, как он сейчас вспоминает, почувствовал себя «очень несчастным». До реализации дело дошло только в 2013 году. Эту часть истории Кац тоже рассказывает очень красиво. Он вспоминает, как в 2011 году сотни тысяч израильтян вышли на улицы, протестуя против высоких цен на товары первой необходимости и жильё и во время очередных выборов в кнессет все партии построили свои кампании вокруг снижения цен. «К власти пришли новые люди, и население поверило, что они изменят страну, но новое правительство разочаровало людей, и тогда появился Cofix», — заключает бизнесмен.

    Концепция заведения проста: кофе и лёгкие закуски (сэндвичи, круассаны, киш) продаются по фиксированной цене в 5 шекелей (77 рублей, или $1,30). Внутри посадочных мест нет — только на улице. До Cofix израильский общепит предлагал посетителям кофе за $3–4 и снеки за $5–10. В начале работы поставщики смеялись над Кацом — мол, приличный кофе не может стоить так дёшево. Теперь Кац посмеивается над ними — до появления Cofix ни одна израильская компания, по его словам, не открывала по 50 точек в год. Закрылись только три. Главному конкуренту, сети Aroma, которую Cofix уже обогнал, пришлось снизить цены — самый дешёвый кофе там теперь стоит 8 шекелей.

    Чтобы работать без убытков, точка должна продавать 1000–1200 товаров в день. Успешным считается место, где реализуется не менее 1800 товаров. Как правило, один покупатель берёт две позиции — кофе и снек. В общих продажах сети доля кофе составляет 10–15% (в России, к изумлению Каца, — 30%), но при этом на напитках удаётся зарабатывать больше — себестоимость у кофе ниже, чем у бутербродов.

    Cofix работает с крупными брендами: кофе покупает у Lavazza (Кац несколько раз за разговор подчёркивает, что у него «хороший, качественный кофе»), круассаны и выпечку — у DéliFrance, напитки — у Coca-Cola. Продукцию с небольшим сроком годности сначала брали у местных поставщиков, но после трёх лет работы в Израиле, когда сеть расширилась до 100 точек, Cofix открыл собственное производство в городе Явне. Для бизнеса свой завод — не просто погоня за сокращением издержек, но и подушка безопасности — 30 000 свежеприготовленных бутербродов в четыре часа утра может обеспечить далеко не каждая пекарня.

    В Cofix, по словам Каца, ходят клиенты трёх типов. Первый — стандартный, обычный покупатель, который берёт кофе и выпечку тогда, когда у него нет другого выхода. «Если он знает, что через час-два будет дома, он не потратит 200 рублей на чашечку кофе, — описывает бизнесмен. — Но если он увидит, что это не 200, а 50 рублей, он не останется голодным ещё два часа. Он пойдёт и купит». Второй тип — люди, которые привыкли захватывать сэндвич из дома, но теперь не будут с ним возиться, а купят его за смешные деньги. Третий — те, кто раньше в принципе не ходил в кафе: либо не могли себе позволить, либо жадничали.

    Cofix в России

    Первую московскую точку Cofix в октябре 2016 года открыл в торговом центре «Охотный Ряд». Ави Кац говорит, что начал международную экспансию с России, потому что здесь, по его мнению, очень большая разница между себестоимостью качественных продуктов и ценой на прилавке. По словам Каца, продукты, себестоимость которых 20 рублей, у нас легко продают за 200. Вторая причина — растущий рынок: в 2016 год его оборот превысил $1 млрд. Третья причина — «психологическая». «У вас есть ощущение перемен в воздухе: местная молодёжь более продвинутая и открытая, чем молодёжь в США, Англии и даже Израиле», — объясняет бизнесмен. Экономический кризис его скорее радует — цены на аренду упали, а потребители стремятся экономить.

    Cofix удалось быстрее найти партнёров — Melsons Group и ADG Group. По данным Haaretz, они получили около 62% бизнеса. «Когда ты приходишь в новую страну, хорошие партнёры важнее всего остального, — говорит Ави Кац. — Моя мама говорила в своё время, когда я только начал заниматься бизнесом, что хороший партнёр или плохой партнёр — это на всю жизнь. Если у тебя плохая жена, ты встаёшь утром и идёшь на работу. Если у тебя плохой партнёр, ты возвращаешься домой и остаёшься с этим партнёром у тебя в голове».

    Сейчас в Москве работают три точки сети, и компания перешла к реализации следующего пункта бизнес-плана — поиску франчайзи. В январе были проданы первые пять франшиз. Паушальный взнос — миллион рублей. На открытие точки нужно потратить от 2 до 4 млн. Таким образом, всего нужно вложить от 3 до 5 млн. Роялти — 100 000 рублей в месяц. В течение пяти лет компания рассчитывает продать 300 франшиз в Москве и Московской области, ещё 700 — в регионах.

    Если продавать 1800 позиций в день, месячная выручка составит 2,7 млн рублей. Половина этого — стоимость продуктов. Например, себестоимость чашки кофе в российском Cofix составляет 25 рублей. После расходов на персонал, аренду и выплаты роялти останется около 300 000 рублей. В Израиле более 50% франчайзинговых точек Cofix окупились меньше чем за год (95% израильских точек управляют франчайзи), но в России, по мнению Ави Каца, потребуется минимум два года: «В Израиле произошло чудо, а с тех пор, как Иисус прошёлся по воде, мы знаем, что чудо происходит обычно один раз».

    Мнения

    Выжить с концепцией Cofix реально. Всё зависит от расположения точек и качества продукта. Под качеством я имею в виду не только вкус напитка, но и интерьерные решения или даже настроение бариста. Если они смогут всё это совместить, возможно, у них что-то получится. Но ежедневная выручка в 90 000 рублей кажется мне космической. Я опираюсь сейчас на собственные продажи и исследование продаж конкурентов. С той торговой точкой, которую предлагает открыть Cofix, нужно встать чуть ли не на Красной площади, чтобы иметь такую выручку. В России средняя дневная выручка кофе-баров составляет 8 000 рублей, в Москве — до 40 000 рублей. 50 000 рублей — это самый верх.

    Cofix — очень честный формат. В России часто предлагают продукт массового потребления по совершенно не массовым ценам, а Cofix берёт коммерческий кофе, недорогое молоко и другие ингредиенты и продаёт их по абсолютно справедливой цене. Через несколько лет Cofix вполне может начать переманивать клиентов у других сетей. Если потребитель увидит, что кофе за 50 рублей не отличается от кофе за 250, он будет покупать только за 50.

    Продавать 1000 чашек кофе в день вполне реально, если получить места с высокой проходимостью. Нужны выходы из метро и торговые центры. Качество трафика второстепенно — при таких ценах не так важно, сколько у людей денег. Cofix может открыться на «Щёлковском» автовокзале и быть там вполне рентабельным просто в силу того, что там безумное количество людей. Сложность в том, что расти нужно очень быстро — в модели Cofix важную роль играет быстрое тиражирование.

    Фотографии: Александр Карнюхин / «Секрет фирмы»

    secretmag.ru

    Франшиза бюджетной кофейни Cofix (Кофикс) купить на Франчайзинг.ру

    Название компании: Сфера деятельности: Основание компании: Начало франчайзинговой деятельности: Франчайзинговые точки: Собственные точки: Региональная представленность:
    ООО “Урбан Кофикс Раша”, бренд COFIX
    Кофейня
    2013
    2016 (в России)
    7 (в Москве)
    2
    Израиль

    История франшизы Cofix

    "Все началось, когда во время одной из поездок по стране мы с другом зашли в магазин на автозаправке. Я взял из машины 50 шекелей, что равно 850 российским рублям, и заказал горячий кофе (18 шекелей) и бутерброд (12 шекелей), а мой попутчик ― кофе со льдом (22 шекеля) и пачку жевательной резинки (6 шекелей). Мне пришлось возвращаться в машину, чтобы взять еще денег.

    В тот момент я понял, что необходимо что-то менять. Неужели чашка кофе и бутерброд должны стоить так много? Получается, что человеку, который хочет взять стакан кофе в день и съесть что-нибудь, придется потратить 2500 шекелей в месяц на кофе и бутерброды, либо выбирать: не пить или не есть, чтобы сократить расходы."

    Ави Кац, основатель и разработчик сети

    Уникальная концепция кофеен Cofix произвела потребительскую революцию в Израиле: любое блюдо или напиток можно купить всего за 5 шекелей. Философия компании — разумное потребление вместо переплаты, качественные еда и напитки за разумную цену.

    Осенью 2016 года компания Cofix вышла на российский рынок. Первая кофейня Cofix открылась в октябре 2016 года в самом центре Москвы в ТЦ «Охотный Ряд». Руководство компании планирует развивать сеть не только в столице, но и в регионах России.

    Филиалы сети предлагают клиентам широкий выбор блюд и напитков. Свежесваренный кофе, бутерброды, тосты, выпечка, торты и печенье, безалкогольные напитки, свежевыжатый сок: всё по фиксированной цене 50 рублей!

    Франчайзинговая информация

    Первоначальный взнос: Роялти: Инвестиции: Формат: Окупаемость: Предпочтения по регионам распространения:
    1 000 000 руб. (+ НДС)
    100 000 руб. (+ НДС)
    от 4 000 000 руб.
    Средний формат, Большой формат
    менее 24 мес.
    Москва и МО, к концу 2017 года Россия

    Описание франшизы

    Cofix - сеть израильских кофеен, где выдача кофе осуществляется "на вынос".  Кофейни Cofix известны тем, что цена на любую категорию в их меню составляет ровно 50 рублей.

    Ассортимент кофейни: разнообразный ассортимент кофе, чай, прохладительные напитки , супы, салаты, сэндвичи, выпечка, десерты, свежевыжатый сок. Средний чек: более 100 рублей.

    Франчайзи предлагается открыть кофейню или сеть кофеен "Cofix" в своем городе или регионе.

    Обучение и поддержка

    • Проверенная и эффективная бизнес-модель
    • Поиск локаций для открытия кафе
    • Бесплатное обучение персонала
    • Единая IT система
    • Гарантированная цепочка поставок и надежные поставщики продукции
    • Консультации по росту выручки, привлечению гостей
    • Доступ к разработанным в компании ноу-хау в сфере операционной, маркетинговой деятельности
    • Поддержка на протяжении всего жизненного цикла кафе: от проектирования, строительства и открытия до повседневной операционной деятельности

    Требования к франчайзи

    • Формат кофейни:   Полноценное кафе или островная локация (вагончик на фуд-корте)
    • Размер помещения:  15 (вагончик) – 60 кв. м.  (полноценное кафе). В случае островного кафе требуется дополнительный склад 6 – 10 кв.м.
    • Электрическая мощность: 15-20 Квт          
    • Инженерные системы:  водоснабжение, канализация

    www.franshising.ru

    "Cofix", 100.

     

    , .

    , c 100.

    , .Cofix ☕

    , 50 - FixPrice, . , , , , . , , .

    « » -3 , . . - , 10 , 5 . , , .

    , , , , -, , , . , , , . -, -. , , , , .

    , ( ) , , .

    , . , :

    « 1.5-2 , 3-4 , , ».

    2 , , , .

    180-200, « » «». . ^_^

    , -, 2, , .

    , , 200, .

    : , , , .

    - , .

    - , .

    + , .

    + .

    + .

    +

    + . ( , ).

    :

    ☕ /

    🍹/ ( )

    🍜

    🍪

    🍔

    🍮/

    ☕ 5/5

    ☕ 5/5

    ☕ 5/5

    ☕ 4.5/5

    ☕ 5/5

    ☕ 4.5/5

    : , . , , . , . , - 3 , . 

    .

    ✏ 2013 , . , , , ( FixPrice).

    ✏ 5 ( 82, ).

    ✏ 300 , 700 .

    ✏ Cofix Bar .

    ✏ Cofix , .

    pikabu.ru

    Как в Петербурге провалилась идея сети с кофе и чизкейками по 50 рублей. «Бумага»

    Год назад в Петербурге открылась кофейня COFiCO, где напитки и еда стоили по 50 рублей. Тогда же владельцы заявляли о запуске нескольких десятков дешевых кофеен по всему городу. Но спустя полтора года планы изменились: сейчас в городе только три кофейни, а цены в них выросли. “Бумага” спросила у совладельца сети Александра Грушинского, почему фиксированная цена не принесла ощутимой прибыли, из-за чего возникали проблемы с продукцией и закроется ли сеть полностью.

    Фото: www.instagram.com/mity_fedotov

    — Как и почему концепция кофейни изменилась с момента открытия?

    — За полтора года с момента открытия кофейни в концепции многое поменялось. Мы не смогли найти достаточно инвестиций и сделать все так, как хотели изначально. Поэтому приняли решение свернуть деятельность и продали две точки людям, которые продолжили работать по концепции COFiCO. Одна торговая точка, на Разъезжей улице, осталась за нами. Мы уже не ставим задачу расширяться.

    — Из-за чего вы отказались от фиксированной цены в 50 рублей?

    — Мы очень много экспериментировали со стоимостью. Самая первая цена у нас была 50 рублей, а когда мы открыли вторую точку, снизили до 35–45 рублей, затем снова вернулись к 50.

    Как ни парадоксально, на цене в 35 рублей мы ничего не заработали, но и в минус не ушли. Уже в сентябре, когда мы продали точки и стали отходить от дел, решили поднять цены, чтобы увеличить прибыль. Поэтому повысили стоимость кофе до 59 рублей, сэндвичей — до 79 рублей.

    По просьбам потребителей, мы также ввели в продажу средний стакан кофе за 79 рублей и большой — за 99. Иногда действуют акции на выпечку. Партнеры, купившие кофейни и оставшиеся в концепции, тоже продают все по этим же ценам.

    — После какой ситуации вы задумались о продаже кофеен?

    — Одна точка — это в лучшем случае окупание рентабельности. Когда есть две-три точки, можно говорить о прибыли и скидках от поставщиков. Здесь действует правило: любой поставщик заинтересован в объеме продаж. Когда ты можешь дать объем, ты можешь диктовать условия.

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

    На Думской была самая интересная точка, но ее пришлось закрыть из-за смены собственника. Аренду подняли в три раза. И это была потеря. Возможно, это был шаг в сторону того, чтобы закрыть дело. Отказ от этой точки подкосил и заставил задуматься.

    У Cofix (сеть израильских дисконт-кофеен, где еда и напитки стоят 50 рублей; на прошлой неделе кофейня открылась в Москве, запуск в Петербурге запланирован на 2017 год — прим. «Бумаги»), на чью идеи создания мы опирались, такая же система: за счет большого объема они смогли выбить себе скидки. Кроме того, их большая часть их заработка — это продажа франшиз.

    — Почему концепция фиксированной цены в итоге не принесла большой прибыли?

    — Мы все делали на свои собственные средства. Пробовали, получали результаты, пытались заинтересовать ими инвесторов, но не смогли. Но концепция живая, мы ее отработали. Не могу сказать, что мы внушительно заработали, но и в минус не ушли, поэтому с этой точки зрения концепция себя оправдала. Ведь у нас все было сделано на коленке. Достаточно сравнить наш уровень и Cofix.

    Если бы удалось привлечь инвестиции и сделать что-то ближе к израильской сети — брендирование, стильный дизайн, хорошее оборудование, топовые места точек, — она бы выстрелила. Причина неуспеха здесь в нехватке средств. Продолжать не было смысла из-за смешной прибыли, а расти дальше — не было возможности. Нужно было принимать решение.

    — С чем в процессе работы возникали сложности?

    — У нас была одна проблема с кофе — поддержание стандарта качества. Сначала люди были довольны, потом произошел «провал»: посетители начали жаловаться. Такая смена состояний была «волнообразной». Проблема была в команде.

    У нас неавтоматизированные машины, поэтому приготовление кофе на 70 % — работа бариста: он отвечает за помол, за время варки кофе, за молоко. Если хотя бы какой-то из показателей не соблюдается, качество кофе падает.

    С едой был бесконечный эксперимент. Задача была подобрать такую продукцию, чтобы аналоги везде стоили дороже. Мы продавали чизкейки, которые произвели фурор: у нас их можно было купить по 50 рублей, а в остальных местах — по 150. Мы же знаем, что все закупаются у одного поставщика и за сколько. Но от продажи чизкейков мы получали условные пять рублей, как и от выпечки. Основным заработком все-таки был кофе.

    Фото: spb.zoon.ru

    — Что вы делали, чтобы исправить ситуацию?

    — Последнюю кофейню мы тоже собираемся продать — хотим уже с этим покончить. Хотя сейчас в этой теме больше остался мой деловой партнер, он пытается найти какие-то новые решения, пути выхода. Я уже сместил свой вектор: сейчас занимаюсь спортивными товарами.

    Мы пытались привлечь инвесторов, были попытки купить франшизу Cofix, но, как мы потом узнали, кто-то был успешнее в переговорах с ними. Был момент, когда мы поняли, что легче будет работать как франшиза, и инвесторы были готовы поддержать нас в этом варианте, но мы опоздали с предложением.

    Еще мы вели переговоры с людьми, которые купили франшизу Cofix в России, предлагали отдать им Петербург. Но они сказали, что пока не откроют первую точку и не посмотрят на результат, не готовы принимать решение. Они назвали примерную стоимость: три миллиона рублей за франшизу. Пока ничего не ясно, но, возможно, возвращение к изначальной концепции все-таки произойдет.

    — Как считаете, что произойдет c приходом Cofix в Петербург?

    — Последствия зависят от того, как Cofix придет в Петербург. Если это будет одна точка, ее открытие на нас не повлияет. Если они накроют город сеткой из десяти кофеен — другое дело. Но вопрос, когда они придут: через год, два? Неизвестно, что будет спустя это время. Не знаю, как дела у ребят, которые купили у нас кофейни, но мы сейчас находимся в стагнации: бросать точку жалко, а продать пока некому.

    paperpaper.ru

    цена и условия франчайзинга кофейни

     

    Франшиза: Cofix.Владелец франшизы: ООО «Урбан Кофикс Раша».Вид деятельности: услуги общественного питания.Формат: кофейня.Год запуска программы франчайзинга: 2016.Паушальный взнос: от 1 000 000 рублей + НДС.Инвестиции (с учетом паушального взноса): минимум 4 000 000 рублей.Роялти: 100 000 рублей + НДС.Срок окупаемости: от 1,5 лет.

    Оригинальная концепция Cofix отражена в названии: это сеть кофеен, где все продается по фиксированной цене — 50 рублей. Автор идеи — израильский предприниматель Ави Кац. В 2013 году он открыл в Израиле первую кофейню Cofix с продукцией на вынос, спустя три года сеть насчитывала более 150 заведений и оказалась самой крупной в стране.

    В конце 2016 года компания Cofix пришла в Россию. Тогда же в Москве заработали три первые тестовые кофейни. Компания внесла коррективы в бизнес с учетом российских условий и приступила к реализации программы франчайзинга. К концу 2017 года у Cofix 28 точек в Москве и 3 в Санкт-Петербурге. В планах израильского предпринимателя 100 кофеен в столице, 1000 — по всей России.

    В Cofix подают свежесваренный кофе, а также сэндвичи, салаты, выпечку — готовую еду, которую при необходимости подогреют. В меню добавили блюда и напитки, популярные именно в России: оладьи, сырники, блинчики, винегрет, оливье, сельдь под шубой, гречневая каша и три вида компота. Каждая позиция в меню — 50 рублей.

    Стоимость франшизы

    Чтобы открыть общепитовскую точку Cofix, потребуются инвестиции в размере от 4.000.000 рублей, включая затраты на паушальный взнос.

    Что включает предложение франчайзера:

    1. Эффективная бизнес-идея.Кофейни с честной ценой привлекают огромное число посетителей, в том числе тех, кому раньше бюджет не позволял перекусить в общепите. В заведения Cofix в центре Москвы выстраиваются очереди в часы пик. Низкие наценки на блюда компенсируются большими объемами реализации. Бизнес-модель проверена и оптимизирована за 4 года существования в Израиле.

    2. Поддержка франчайзи в поиске места под кафе.Франчайзер предоставляет партнеру базу локаций под аренду с высоким потенциалом. В компании помогают добиться выгодных условий у арендодателя, консультируют и готовят предложение и договор аренды.

    3. Обучение персонала.Франчайзер проводит тренинги по всем аспектам работы в соответствии с внутренними стандартами Cofix: ассортимент, приготовление кофе, хранение продуктов, работа с кассой, общение с посетителями и т. д. Партнер поучает доступ к базе информационных материалов.

    4. Автоматизация.Всем франчайзи устанавливают программу управления предприятием, в которую интегрированы необходимые модули, доступные как стационарно, так и через мобильное приложение: склад, продажи, персонал. Автоматизированы процесс заказа и документооборот. Точку оснащают системой видео-наблюдения.

    5. Поставщики.Франчайзи сети лишены головой боли с поставщиками — всей продукцией их снабжает Cofix. За счет больших объемов компания добилась привлекательных отпускных цен у известных производителей: Lavazza (кофе), DeliFrance (тесто для выпечки), Coca-Cola (прохладительные напитки). Франчайзер регулярно обновляет меню и совершенствует систему поставок.

    6. Уникальные знания.Франчайзи получает доступ к секретным приемам Cofix по увеличению продаж в кофейнях.

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

    8. Реклама и маркетинг.Франчайзер продвигает бренд на российский рынок через деловую прессу и социальные сети, участвует в мероприятиях. Cofix разрабатывает рекламную кампанию к открытию каждой кофейни.

     

    Структура первоначальных расходов при покупке франшизы

    Таблица распределения затрат на открытие кофейни в помещении 35-40 кв.м.

    Статья расходовСтоимость затрат (руб.)Доля в общей сумме инвестиций (%)Итого:5000000100%
    Паушальный взнос125000025
    Проектирование1000002
    Строительно-монтажные работы105000021
    Конструкция вагончика4000008
    Оборудование140000028
    Вывеска1000002
    Электроника, музыка, система видеонаблюдения3000006
    Мебель2000004
    Дополнительное оборудование500001
    Прочее1500003

    Важно! По оценке франчайзера ежемесячная прибыль (до налогообложения) достигает 420.000 рублей. Сроки окупаемости — 18 месяцев.

    Как купить франшизу

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

    Преимущества покупки франшизы:

    • Продукция востребована среди большого количества людей — с низким и средним уровнями доходов.
    • Франчайзи имеет дело с готовой продукцией. За счет этого уменьшаются расходы на аренду (требуется минимальная площадь для открытия кофейни), оборудование, персонал и его обучение. Готовые блюда повышают скорость обслуживания и обеспечивают большую проходимость торговой точки.
    • У франчайзи один поставщик продукции — снижаются финансовые и временные затраты на логистику и бухгалтерию.
    • Cofix предлагает эффективную модель франчайзинга, которая была опробована в Израиле. Из 150 открытых там кофеен прекратили существование всего три. 70 торговых точек окупились за год.
    • В своем ценовом сегменте рынка компания не имеет конкурентов в России. Цена чашки кофе в московских и петербургских заведениях составляет в среднем 160-180 рублей, в регионах — около 90 рублей. Кофе по 50 рублей можно купить только в автоматах.
    • Из-за особенностей климата в российских заведениях кофе покупают в два раз чаще, чем в израильских: доля в общем обороте составляет 30% против 12%. При этом маржа в напитках выше, чем в сэндвичах или десертах. В российском Cofix себестоимость чашки кофе составляет 25 рублей.

    Важно знать! Во время экономического кризиса клиенты общепита больше обращают внимание на цену продукции, в то же время стоимость аренды снижается.

    Риски приобретения франшизы

    Чтобы не работать в убыток, кофейня должна продавать в день не менее 1000 позиций. Согласно оценке специалистов Cofix, успешной считается точка, где в день покупают 1800 позиций, то есть выручка составляет 90.000 рублей. При этом средняя дневная выручка у кафе сходного формата по Москве — ниже 50.000, в регионе — 10.000 рублей. Чтобы продавать такое количество продукции, точки Cofix должны находиться в местах наибольшей проходимости.

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

    e-tiketka.ru

    Есть ли разница между израильским и московским кафе Cofix? — The Village

    Первый Cofix появился в Израиле в 2013 году. Это была просто бомба! Многие владельцы кофеен и ресторанов возмущались, говоря, что держать такие низкие цены в принципе невозможно. Кто-то думал, что это временная акция для привлечения внимания и потом цены поднимутся. В целом никто не верил в успех сети. Но прошло три года, а в Cofix по-прежнему можно купить кофе и выпечку всего за пять шекелей (что приблизительно равно 80 рублям. — Прим. ред.). Кроме того, им удалось так развиться, что появилось еще два новых направления: бары и супермаркеты. В них любая позиция обойдется в те же 5 шекелей.

    Я точно не знаю, как Cofix держит низкие цены. Мне кажется, им удается договориться с поставщиками о более выгодной сделке за счет объема продаж, который они могут обеспечить. К примеру, для своих супермаркетов они решили брать молоко не в литровых пакетах, а в емкостях меньшего объема. Эта идея так понравилась производителям, что они начали предлагать упаковки объемом 800 миллилитров не только Cofix, но и другим магазинам. Правда, последним они продают их дороже из-за большей наценки на товар.

    Мы с Галей (Галина Николаева также является совладелицей Dizengof 99. — Прим. ред.) на днях вернулись из Тель-Авива, где кафе с фиксированными ценами очень много: как оригинальных Cofix, так и их подражателей. В отличие от Москвы, где у вагончика Cofix, когда мы пришли, было не меньше 20 человек, в израильском уже не бывает очередей. Хотя люди по-прежнему часто заходят. Если сравнивать заведения чисто визуально, то они одинаковы: помещение, в котором стоит небольшой вагончик. Но московский выглядит приятнее и чище. Возможно, так кажется, потому что он новый.

    Что касается ассортимента, то разница в нем есть. Здесь предлагают сырники, блинчики и супы, а в Тель-Авиве можно попробовать блюда типа плова и кускуса. Плюс там есть отдельное веганское меню, но, как я понял, оно появилось относительно недавно. В израильском Cofix мы заказали капучино и круассан с шоколадом, в московском — то же самое плюс шоколадный чизкейк, которого в Тель-Авиве не было, и чиабатту с курицей.

    Если говорить о кофе, то в Москве он значительно лучше. Дело в том, что в Израиле еще не произошла кофейная революция, как у нас и в некоторых других странах. Поэтому найти там вкусный кофе не так просто, как может показаться на первый взгляд. Израильский круассан с шоколадом больше московского (в Израиле в принципе все порции больше), но по вкусовым качествам они одинаковы, да и количество шоколада в них не сильно отличается. Чизкейк с шоколадом стоил всего 50 рублей и был отличным, хотя и небольшим. Чиабатта с курицей мне понравилась меньше всего, но и она была вполне себе приемлемой. Галя ее целиком съела.

    Сеть пользуется спросом — это факт. Сейчас в московский Cofix ходит молодежь и работники торгового центра. Но если бы кафе оказалось около станции метро, я думаю, у них бы был непрерывный поток посетителей. Потому что 50 рублей — очень низкий порог, который приемлем, грубо говоря, для любого человека. К примеру, в Израиле, где в Cofix ходят абсолютно разные люди, я видел бездомного, который насобирал пять шекелей и купил себе кофе. Надо понимать, что цена на кофе в других заведениях там начинается от десяти шекелей.

    Думаю, если Cofix сохранит уровень качества, то у них просто нет шансов не преуспеть в России — как, впрочем, и в любой другой стране. Потому что они предлагают хорошую продукцию за небольшую цену, которую готов заплатить широкий круг населения. Если есть возможность купить тот же кофе всего за 50 рублей, то зачем платить за него 200–300 рублей? Конечно, речь не идет о тех, кто хорошо разбирается в кофе: это очень небольшой процент людей.

    www.the-village.ru


    Смотрите также