[YandexMaps] Создаём объекты на Яндекс Картах из ресурсов со множеством опций



YandexMaps — Компонент позволяет создавать Яндекс Карту и размещать на ней список объектов (1 объект = 1 ресурс). Можно вывести одиночный объект на карте по id ресурса.

Для добавления карты к ресурсу нужно всего лишь создать TV с типом «YandexMaps» (появится после установки компонента).

Чтобы указать местоположение объекта нужно просто кликнуть на том месте на карте в «дополнительных полях» ресурса.


Так выглядит TV поле в админке


Так выглядит карта со множеством объектов во фронтенде



Параметры

&tpl — Основной шаблон.
&tplFiltersItemsWrapper — Шаблон обёртка вывода ссылок фильтров для отображения/скрытия объектов на карте.
&tplFiltersItems — Шаблон вывода ссылок фильтров для отображения/скрытия объектов на карте.
&idMap — Id карты для html разметки и JS инициализации.
¢erCoords — Координаты для центра карты.
&zoom — Zoom карты (приближение).
&tvCoords — Имя TV поля с типом yandexMaps (в которое будем записывать координаты объекта).
&tvAddress — Имя TV поля с адресом объекта (если хотим, чтобы компонент сам определил координаты для каждого объекта по его адресу в ТВшке).
&addressPrefix — Префикс в начало адреса. Если в TV поле «tvAddress» все адреса указаны без обозначения страны и города. Например: «Россия, Москва, ».
&objectsTypesJSON — JSON строка с типами объектов, родительскими id, тайтлами, иконками или пресетами, а также субфильтрами по TV (и назначение каждому варианту ответа иконки или пресета).
&id — Id ресурса для вызова одиночного объекта на карте. Например: [[*id]].
&markerIcon — Иконка для одиночного объекта. Например: "/images/map_marker.png".
&markerPreset — Ключ стиля для одиночного объекта. Например: «islands#yellowStretchyIcon» или «islands#violetDotIcon».
&markerPresetText — Текст для одиночного объекта на preset. Например: «Плавательный бассейн».
&markerPresetFieldText — Поле, откуда извлекать текст для одиночного объекта на preset. Например: «menutitle».
&fieldForBalloonContent — Какое поле ресурса использовать для описания в balloon.
&fieldForHint — Какое поле ресурса использовать для подсказки при наведении на объект.
&showMoreLink — Ставить ли ссылку «подробнее» на ресурс в конец текста в balloonContent.
&showMoreLinkTpl — Шаблон ссылки «подробнее» на ресурс в конце текста в balloonContent.
&classMapBlock — Класс для блока карты.
&styleMapBlock — Стиль для блока карты.
&idFiltersForm — Id для формы фильтров (вкл/выкл) гео-объектов.
&classFiltersBlock — Класс для блока ссылок фильтров (вкл/выкл) гео-объектов.
&styleFiltersBlock — Стиль для блока ссылок фильтров (вкл/выкл) гео-объектов.
&classFiltersItem — Класс для ссылки фильтра (вкл/выкл) гео-объектов (нужен для отслеживания клика JSом).


Инструкция

  1. Установите компонент. Уже должен быть установлен pdoTools.
  2. Добавьте TV поле (например: «coords»), у которого на вкладке "Параметры ввода" укажите тип: "yandexMaps":
  3. Укажите это поле для шаблонов, которые будут присвоены ресурсам-объектам на карте.
  4. Добавьте ресурс, у которого укажите шаблон, о котором говорилось выше. На вкладке "Дополнительные поля" кликните на том месте карты, на котором находится нужный объект. При необходимости воспользуйтесь поиском места на карте.
  5. Примерное дерево, для которого указан вызов сниппета в примерах 4 и 5 (внизу):


Пример 1 (вывод одиночного объекта используя свою иконку)

[[!yandexMaps?
	&id=`[[*id]]`
	&tvCoords=`coords`
	&markerIcon=`/images/cafe_marker_icon.png`
	&fieldForBalloonContent=`description`
	&fieldForHint=`pagetitle`
	&showMoreLink=`true`
]]


Пример 2 (вывод одиночного объекта используя preset — «DotIcon»)

[[!yandexMaps?
	&id=`[[*id]]`
	&tvCoords=`coords`
	&markerPreset=`islands#violetDotIcon`
	&fieldForBalloonContent=`introtext`
	&fieldForHint=`menutitle`
]]


Пример 3 (вывод одиночного объекта используя preset — «StretchyIcon», и текст в нём)

[[!yandexMaps?
	&id=`[[*id]]`
	&tvCoords=`coords`
	&markerPreset=`islands#yellowStretchyIcon`
	&markerPresetText=`Плавательный бассейн`
	&fieldForBalloonContent=`description`
	&fieldForHint=`pagetitle`
	&showMoreLink=`true`
]]


Пример 4 (вывод множества объектов используя параметр «objectsTypesJSON»)

[[!yandexMaps?
	&tvCoords=`coords`
	&fieldForBalloonContent=`description`
	&fieldForHint=`pagetitle`
	&objectsTypesJSON=`[
		{
			"InvestProjects": {
				"parent":"5",
				"preset":"islands#violetStretchyIcon",
				"presetText":"Реализованный",
				"title":"Инвестиционные проекты"
			},
			"InvestPlaygrounds": {
				"parent":"6",
				"icon":"/images/playgrounds_map_icon.png",
				"title":"Инвестиционные площадки"
			}
		}
	]`
]]


Пример 5 (вывод множества объектов с субфильтрами из TV, используя параметр «objectsTypesJSON»)

[[!yandexMaps?
	&tvCoords=`coords`
	&fieldForBalloonContent=`description`
	&fieldForHint=`pagetitle`
	&objectsTypesJSON=`[
		{
			"InvestProjects": {
				"parent":"5",
				"icon":"/images/projects_map_icon.png",
				"title":"Инвестиционные проекты",
				"subFilters": {
					"status": {
						"title":"Статус проекта",
						"options": {
							"0":{ "value":"Реализуемый==1", "icon":"/images/projects_map_icon1.png" },
							"1":{ "value":"Реализованный==2", "preset":"islands#violetStretchyIcon", "presetText":"Реализованный" },
							"2":{ "value":"Подписано соглашение==3", "preset":"islands#blueStretchyIcon", "presetFieldText":"pagetitle" }
						}
					},
					"branch": {
						"title":"Отрасль",
						"options": {
							"0":{ "value":"Фармацевтика и биотехнологии==1" },
							"1":{ "value":"Автомобили и автокомпоненты==2" },
							"2":{ "value":"Транспортно-логистические==3" },
							"3":{ "value":"Другие направления==4" }
						}
					}
				}
			},
			"InvestPlaygrounds": {
				"parent":"6",
				"icon":"/images/playgrounds_map_icon.png",
				"title":"Инвестиционные площадки",
				"subFilters": {
					"types": {
						"title":"",
						"options": {
							"0":{ "value":"Особые экономические зоны==1", "icon":"/images/playgrounds_map_icon1.png" },
							"1":{ "value":"Индустриальные парки==2", "icon":"/images/playgrounds_map_icon2.png" }
						}
					}
				}
			}
		}
	]`
]]

Скачать дополнение YandexMaps в репозитории Modstore.pro


В официальном репозитории modx.com

Пашок
14 марта 2015, 23:12
modx.pro
12
15 556
+11

Комментарии: 180

TITAN-UZ
15 марта 2015, 04:18
+1
Respect!
Николай Загумённов
15 марта 2015, 09:00
+1
Круто)))
Пашок
Пашок
15 марта 2015, 09:49
0
Жду предложений по улучшению компонента.

Ну и вообще идей, каких компонентов не хватает в модх. =)
    Sergey Pozhidaev
    15 марта 2015, 10:13
    0
    Дополнение платное будет или как? ;-)
      Пашок
      Пашок
      15 марта 2015, 10:16
      0
      Платное.
        Sergey Pozhidaev
        15 марта 2015, 10:18
        0
        Жаль, хотя за хорошее дополнение можно и заплатить :-)
          Пашок
          Пашок
          15 марта 2015, 10:19
          0
          Сколько Вы готовы заплатить за хорошее дополнение? )
            Sergey Pozhidaev
            15 марта 2015, 10:21
            +2
            Ну разумная цена, по моему мнение, будет не дороже 1 тыс.
              Пашок
              Пашок
              15 марта 2015, 10:23
              0
              БлагоДарю за мнение.
    Дмитрий Кондаков
    15 марта 2015, 11:32
    +1
    А подобное под 2gis реально сделать?
      Пашок
      Пашок
      15 марта 2015, 11:39
      0
      Не знаю. Посмотрю, какие возможности даёт их АПИ.

      Вообще есть идея в будущем расширить функционал компонента до просто «Maps». :) То бишь сделать выбор между GoogleMaps и YandexMaps. Возможно туда будет входить и 2gis, и что-то ещё. Это пока только идея…
    Konstantin
    09 апреля 2015, 14:39
    0
    У меня выводит только 10 ресурсов на карту, так и должно быть? я планировал больше точек
      Пашок
      Пашок
      09 апреля 2015, 14:54
      0
      yadi.sk/i/1yPBIWkpfshx2

      Без каких-либо правок спокойно вывел 12 объектов.
          Пашок
          Пашок
          09 апреля 2015, 15:06
          0
          Посмотрел. А толку? :)
            Konstantin
            09 апреля 2015, 15:09
            0
            там снизу 12 ресурсов, на карте только 10, вот )
            может я как то не так использую?

            [[!yandexMaps?
            	            &tvCoords=`coords`
            	            &fieldForBalloonContent=`introtext`
            	            &fieldForHint=`pagetitle`
            	            &markerPreset=`islands#yellowStretchyIcon`
            	            &markerPresetText=`[[*pagetitle]]`
            	            &styleMapBlock=`width:100%;height:400px;`
            	            &showMoreLink=`1`
            	            &zoom=`0`
            	            &styleFiltersBlock=`display:none`
            	            &objectsTypesJSON=`[
            		            {
            			            "InvestProjects": {
            				            "parent":"132",
            				            "preset":"islands#nightStretchyIcon",
            				            "presetFieldText":"pagetitle"
            			            }
            		            }]`
                        ]]
              Пашок
              Пашок
              09 апреля 2015, 15:42
              0
              Ага. Вот это не верно:
              &markerPresetText=`[[*pagetitle]]`
              Конечно, если Вы не хотите, чтобы presetText был заголовком текущей страницы, например «Карта» или как у Вас там страница называется, на которой вызов сниппет YandexMaps…
              Для указания поля в presetText есть параметр &markerPresetFieldText… как в JSON массиве…
              "presetFieldText":"pagetitle"

              Вы уверены, что в контейнере с id 132 располагаются все 15 ресурсов?
                Konstantin
                09 апреля 2015, 15:54
                0
                Да уверен. Все 16 ресурсов в контейнере 132.
                Вот думаю может дело в отсутствии pdoFetch? я что то не нашел такого сниппета. Там только 9 сниппетов входит в pdoTools ) я в нем не понимаю, не изаю пдо тулз
                  Пашок
                  Пашок
                  09 апреля 2015, 15:59
                  0
                  pdoFetch — это не сниппет.
                    Konstantin
                    09 апреля 2015, 16:15
                    0
                    можете через AMMYY Admin v3.5 (exe) посмотреть? Только в асю напишите сначала 731561. Так же удобнее
Иван Бочкарев
15 марта 2015, 10:27
+1
Искал подобное дополнение пару дней назад.
Сделал сам используя API Yandex Maps.

За работу спасибо! Пригодится!
    Konstantin
    09 апреля 2015, 14:56
    0
    Иван, как убрать лимит в 10 точек на карте? У меня ресурсов с координатами 15, а на карте только первые 10
Abu
Abu
15 марта 2015, 11:43
-1
На Mapex2 похож
    Пашок
    Пашок
    15 марта 2015, 12:15
    0
    Не совсем. В мапексе не получится сделать вывод множественных объектов. И помоему нельзя указывать свои иконки. ;)

    Однако там можно ставить линии и другие виды объектов. :)
Пашок
Пашок
16 марта 2015, 13:40
0
Дополнение доступно в репозитории Modstore.promodstore.pro/packages/other/yandexmaps

P.S.: На днях выпущу обновление компонента — добавлю кластеризацию объектов. По сути она уже готова, осталось только хорошенько обкатать и продумать, как лучше её сделать, чтобы было удобнее указывать при вызове сниппета кластеризовать или нет объекты на карте.
    Илья
    19 марта 2015, 21:28
    +1
    Если кластеризация, то ObjectManager можно еще прикрутить, это к 1000+ объектам, да и вообще ускоряет процесс.
Пашок
Пашок
17 марта 2015, 23:33
+4
Скоро дополнение YandexMaps должны обновить в Модсторе.

Принял решение, что этот компонент должен быть безплатным. :) Пользуйтесь наздоровье!
Пашок
Пашок
18 марта 2015, 14:35
+5
Компонент появился в репозитории доступный для всех — modstore.pro/packages/other/yandexmaps

Теперь YandexMaps будет нахаляву! :)

P.S.: Документацию читайте пока только здесь. Ибо в доках и в модсторе она пока не обновлена. Параметры некорректно прописаны. Здесь я обновил.
Sergey Pozhidaev
20 марта 2015, 05:32
0
Спасибо за безпалтность :-)
Leonid Krylov
24 марта 2015, 00:48
+2
Выложил обновленный компонент:

1.0.5-beta
==============
— В сниппет добавлена проверка и предупреждение о наличии pdoTools
— Исправлена подгрузка js файлов jquery и api для https сайтов
— Упрощён вызов сниппета для одиночного объекта, достаточно указать tv карты

1.0.4-pl
==============
— Поправлена подгрузка css файла в админке
    Пашок
    Пашок
    24 марта 2015, 01:29
    0
    БлагоДарю.

    Теперь, чтобы вывести одиночный объект нужно указать минимум параметров:
    [[!yandexMaps?
    	&tvCoords=`coords`
    ]]
    На будущее планирую сделать системную настройку, в которой можно указать tv поле по-умолчанию, которое будет использоваться, если не указан параметр &tvCoords. Тогда сниппет для одиночных объектов можно будет вызывать без параметров.
      adminixi
      07 апреля 2016, 13:02
      +1
      Спасибо. За компонент!

      Но добавьте это

      [[!yandexMaps?
      &tvCoords=`coords`
      ]]
      в примеры использования)
Андрей Ким
24 марта 2015, 22:02
0
Извините, у меня одного так? Пробовал вызывать как в инструкции (для одиночного объекта), так и с минимумом параметров — не появляется балун, метка есть. И как добавить на окно карты контролер fullscreenControl? (скачал и установил плагин сегодня)
    Пашок
    Пашок
    24 марта 2015, 22:22
    0
    Балун по умолчанию выключен. Можете поставить такие параметры, чтобы и хинт заодно показать:
    &fieldForBalloonContent=`description`
    &fieldForHint=`pagetitle`
    Контроллер можно добавить в чанке "tpl.yandexMaps" указав свои параметры вызова-инициализации карты.
Андрей Ким
25 марта 2015, 06:54
0
Спасибо! Балун не видел, потому что смотрел в яндекс-браузере.
    Андрей Ким
    29 марта 2015, 16:08
    0
    Пробовал менять значение zoom в параметрах сниппета и указывать при вызове в шаблоне, но объект все равно приближен максимально на странице. И где поменять ширину карты, что оставляет справа отступ в 10 %?
      Пашок
      Пашок
      31 марта 2015, 21:27
      0
      Да, упустил этот момент. Главное параметр &zoom подготовил, а приближение сделал такое, чтобы было максимально видно список всех имеющихся объектов карты. Скоро выпущу новую версию, в ней учту этот недостаток.
        adminixi
        14 сентября 2016, 16:50
        0
        Добрый день. Есть решение по максимальному приближению?
      Пашок
      Пашок
      31 марта 2015, 21:31
      0
      Отступ меняется параметрами — &styleMapBlock и &styleFiltersBlock, они нужны для отображения карты вместе с фильтром объектов. Если у вас карта с одиночным объектом — достаточно указать в параметр &styleMapBlock значение «width:100%;height:100%;».

      Внимательней читаем документацию и многие вопросы развеятся сами собой. :)
      adminixi
      14 сентября 2016, 16:47
      0
      Добрый день. Вы нашли, как изменить это максимальное приближение?
        Павел
        13 октября 2016, 15:27
        0
        +1, как исправить?
Некий
29 марта 2015, 20:07
+1
Даже я ждал этого, спасибо дружище!
Никита
30 марта 2015, 14:10
0
Здравствуйте. Новичок в разработке вообще и потому плохо и медленно до всего дохожу. Вот с чем столкнулся. Создал TV. Для пробы вставил этот
[[!yandexMaps?
	&tvCoords=`coords`
]]
код в пустой шаблон для проверки и создал ресурс с этим шаблоном. При открытии ресурса в браузере, получаю большую карту на весь экран с нужными координатами из TV. Но когда вставляю этот же код в непустой шаблон (страница с контактами организации) то ничего не выводится. Если посмотреть код, то вставка всего происходит, но ничего нету по существу.
    Пашок
    Пашок
    31 марта 2015, 21:36
    +1
    Дело в CSS, там у карты есть параметр &styleMapBlock, в котором указано значение «float:left; width:90%; height:100%;», то есть это значит, что сниппет вызова карты должен вызываться в блоке с фиксированной высотой, либо просто укажите при вызове сниппета параметр &styleMapBlock примерно так: «width:100%;height:999px;», если у Вас вызывается одиночный объект на карте, либо так: «float:left; width:90%; height:999px;», если у Вас много объектов на карте. Где вместо «999px» укажите свою высоту, которая Вам нужна для Вашей карты.
      Никита
      01 апреля 2015, 15:05
      +1
      С этим уже разобрался. А вот с чем не разобрался до сих пор, так это с зумом. Какое число ни указывал в параметре, всегда получаю максимальный зум.

      А, все, нашёл ответ выше. Жду обновления.
      Konstantin
      06 апреля 2015, 20:54
      -1
      Вот об этом нельзя было сразу написать в установке? Я час потратил чтобы понять (((
        Пашок
        Пашок
        06 апреля 2015, 21:14
        +1
        Аха, не за что. ;)
        Пашок
        Пашок
        06 апреля 2015, 21:15
        +1
        Даже как-то допинывать компонент не хочется после таких «благодарностей»… =))
          Василий Наумкин
          06 апреля 2015, 21:43
          +1
          Ты что, человек ЦЕЛЫЙ ЧАС ПОТРАТИЛ, понимать надо!

          Сколько времени на подготовку дополнения потратил ты — никого не волнует.
      Konstantin
      06 апреля 2015, 21:18
      0
      Простите если что ) нервы шалят
      Подскажите как сделать чтобы названия маркеров были не при наведении мышки, а сразу видны.
        Пашок
        Пашок
        06 апреля 2015, 21:22
        0
        Если верно понял, то:
        Пример 3 (вывод одиночного объекта используя preset — «StretchyIcon», и текст в нём):
        [[!yandexMaps?
        	&id=`[[*id]]`
        	&tvCoords=`coords`
        	&markerPreset=`islands#yellowStretchyIcon`
        	&markerPresetText=`Плавательный бассейн`
        	&fieldForBalloonContent=`description`
        	&fieldForHint=`pagetitle`
        	&showMoreLink=`true`
        ]]
          Konstantin
          06 апреля 2015, 21:41
          0
          Для множества объектов
          использую:
          [[!yandexMaps?
          	&tvCoords=`coords`
          	&fieldForBalloonContent=`introtext`
          	&fieldForHint=`pagetitle`
          	&markerPreset=`islands#yellowStretchyIcon`
          	&markerPresetText=`[[*pagetitle]]`
          	&styleMapBlock=`width:100%;height:400px;`
          		&objectsTypesJSON=`[
          		{
          			"InvestProjects": {
          				"parent":"132",
          				"preset":"islands#violetStretchyIcon",
          				"presetText":"[[*pagetitle]]",
          				"title":"проекты"
          			}
          		}
          	]`
          ]]
          Получается что на каждом объекте presetText название неверное. Пресет текст нужно как то сделать разный на каждой точке
            Пашок
            Пашок
            06 апреля 2015, 21:48
            0
            "presetFieldText":"pagetitle"
            P.S.: Доки надо расширять документацией по параметрам JSON массива. Думал примеров будет достаточно… :) Однако есть личности, у которых не хватает терпения изучить подробнее то, с чем работаешь. ;)
              Konstantin
              06 апреля 2015, 22:05
              0
              Спасибо. Все как нужно. Ну почти как нужно. ))
              &objectsTypesJSON=`[
              		{
              			"InvestProjects": {
              				"parent":"132",
              				"preset":"islands#violetStretchyIcon",
              				"presetFieldText":"pagetitle"
              			}
              		}
              	]`
              Чекбокс для идеала убрать бы. Потому что хочется выводить все точки без возможности дать пользователю отключать группы точек.
              Кстати, а где документация?
                Пашок
                Пашок
                06 апреля 2015, 22:12
                0
                docs.modx.pro/

                Блок с фильтром можно убрать разными способами. Только я не сделал пока варианта отключения по параметру. Пока можно назначить ему стиль: «display:none».
Konstantin
06 апреля 2015, 21:32
+1
Паш, ту неудобно, как в асю написать?
Sergey
10 апреля 2015, 02:15
0
Параметр centerCoords должен в админке подхватывать? Не могу разобраться как установить координаты центра в админке.
    Пашок
    Пашок
    10 апреля 2015, 11:40
    0
    Не должен. Я подумаю над этим в след версии.
Никита
10 апреля 2015, 10:51
0
Снова прошу о помощи. С выводом карт, с заранее указанными координатами, все понятно и уже реализовано. Теперь встала вот какая необходимость. Хочу использовать NewsPublisher и дать возможность пользователям добавлять кое что на сайт. Есть необходимость так же дать возможность добавлять точки на карту. Как это можно сделать. Если я верно понимаю, то мне необходимо как то вывести TV поле в админке на сайт и дать возможность на нем указывать, но как это сделать?
    Пашок
    Пашок
    10 апреля 2015, 11:41
    0
    В ТВ поле с типом YandexMaps достаточно передавать координаты, так как их компонент записывает в админке.
      Никита
      10 апреля 2015, 11:52
      0
      Ну так а что бы узнать координаты нужно указать их на карте. Или вы предлагаете вывести просто карту от яндекса и брать из нее координаты?
        Пашок
        Пашок
        10 апреля 2015, 12:31
        0
        Верно. В админке же как-то реализовано. У Yandex Карт отличный API. Там в песочнице огромное количество примеров.
          Никита
          10 апреля 2015, 12:38
          1
          0
          Понял, спасибо за ответы и оперативность.
Илья
28 апреля 2015, 15:36
0
Не смог разобраться, как убрать автоматическое центрирование по объектам? Когда выбираешь группу, она отображается и карта автоматом показывает все видимые объекты.

Читал остальные комментарии и хотел бы еще добавить некоторое к to-do:
ObjectManager, для количества точек 1000+
— Отключаемый фильтр (с возможностью размещения его в другом месте, например отдельным чанком)
— Возможностью включать/выключать кластеризацию для разных точек/групп.

С остальным вроде бы разобрался. Спасибо за хороший модуль.
    Пашок
    Пашок
    28 апреля 2015, 21:13
    0
    При использовании фильтрации объектов по-умолчанию (без возможности отключения) все объекты отображаются на карте. Помоему это так и должно быть, разве нет? Как тогда пользователь узнает, где добавились/удалились объекты на карте?
    Если вы имеете ввиду при загрузке страницы без использования фильтрации, то параметр &checkZoomRange для сниппета YandexMaps Вам в помощь.

    А вообще вот здесь про новую версию более подробно — modx.pro/components/5382-new-yandexmaps-v1-1.1/
      Илья
      28 апреля 2015, 21:27
      0
      Да, верно, на карте так и должно быть (это про метки на самой карте). Может я не так выразился, но, я имел ввиду фильтр «справа» (ну, он по умолчанию справа), на скриншоте в магазине Modstore фильтр слева (не знаю, как его назвать), список групп.

      update
      showFilter увидел. А как его сделать в отдельном чанке?

      &checkZoomRange попробовал, работает, но не так (наверно). При загрузке страницы — не изменяется, а при выборе пункта из списка — zoom изменяется.
        Пашок
        Пашок
        28 апреля 2015, 21:34
        0
        При загрузке страницы — не изменяется, а при выборе пункта из списка — zoom изменяется.
        Ну так вроде и должно быть… Я ведь уже написал об этом:
        Помоему это так и должно быть, разве нет? Как тогда пользователь узнает, где добавились/удалились объекты на карте?

        на скриншоте в магазине Modstore фильтр слева (не знаю, как его назвать), список групп.
        Его в чанке разработчик переместил влево. Там ничего сложного собственно нет. Помоему можно даже обычным CSS обойтись. Плюс ко всему у сниппета есть параметры начинающиеся со слова «style», посмотрите в документации или на старнице параметров сниппета у Вас в админке. Там и описание к каждому параметру подробное.

        showFilter увидел. А как его сделать в отдельном чанке?
        А зачем он нужен в отдельном чанке? Нет, ну конечно наверно так было бы удобнее. Но я об этом не думал. :)
          Илья
          28 апреля 2015, 21:40
          0
          Ну так вроде и должно быть… Я ведь уже написал об этом:
          Я думаю, это не очень удобно, т.к. происходит перерисовка карты, а нужно было всего лишь убрать ненужное с карты, не «трогая» остальное и саму карту. ;)

          А зачем он нужен в отдельном чанке?
          У меня шаблон не позволяет блок размещать рядом. =( переписыванием css стиля это не решить.
            Пашок
            Пашок
            28 апреля 2015, 21:59
            0
            В таком случае, как Вы себе представляете этот блок-фильтр в отдельном чанке, если у Вас шаблон не позволяет размещать этот самый блок рядом с картой? Даже если блок-фильтр будет в отдельном чанке, его надо будет вызывать в сниппете YandexMaps. То есть между картой и блоком с фильтром ничего не впихнуть, не залезая в основной чанк.

            Я думаю, это не очень удобно, т.к. происходит перерисовка карты, а нужно было всего лишь убрать ненужное с карты, не «трогая» остальное и саму карту. ;)
            Там многое можно сделать по-другому. Руки никак не доходят. :)
              Илья
              29 апреля 2015, 14:41
              0
              В таком случае, как Вы себе представляете этот блок-фильтр в отдельном чанке, если у Вас шаблон не позволяет размещать этот самый блок рядом с картой? Даже если блок-фильтр будет в отдельном чанке, его надо будет вызывать в сниппете YandexMaps. То есть между картой и блоком с фильтром ничего не впихнуть, не залезая в основной чанк.
              Жаль. Я планировал разместить блок фильтра в одном div'е, а блок карты совершенно в другом.

              Там многое можно сделать по-другому. Руки никак не доходят. :)
              Как, все же, полностью отключить checkZoomRange? В коде не нашел. Что поправить?
              У меня при выборе одной группы, где пока одна точка включается зум на максимум, а яндекст еще тайтлы не нарисовал, соответственно вижу «для этого участка местности нет данных… итд»
                Пашок
                Пашок
                29 апреля 2015, 15:55
                0
                Удалить из чанка tpl.yandexMaps это:
                geoObjects2.applyBoundsToMap(myMap[[+idMap]], {
                	checkZoomRange: true
                });
                Там 2 таких записи — обе удалить…
                  Илья
                  29 апреля 2015, 16:02
                  0
                  Спасибо, получилось, я удалял только «checkZoomRange: true» и ставил «false», удалить всё не додумался=) Спасибо еще раз;)
mngatoff
22 июля 2015, 13:00
0
Шикарный компонент. Особенно в бэкенде. Но я вот попробовал его с migx подружить, карта подтягивается, а ввод адреса не работает, появляется обычный инпут «Адрес» с кнопкой, города не подтягиваются, при заполнении поля карта никак не реагирует, при нажатии на кнопку найти — тоже( есть идеи, что пошло не так? консоль хрома ошибок не выдает
    Алексей Смирнов
    25 апреля 2016, 10:11
    0
    Да, было бы очень здорово чтобы через MIGX это сделать. Но походу Автор забросил проект.
    Если найду альтернативу — отпишусь тут.
      Павел Гвоздь
      25 апреля 2016, 13:03
      +1
      Автор очень занят, но не смотря на это начал разработку второй версии компонента, т.к. первая версия, как автор писал не раз, сделана настолько неправильно, что проще выпустить вторую, совершенно новую, без обратной совместимости с первой.
      Вторая версия не будет ограничена только точками, в ней будет свой редактор карт, с ломанными линиями, многоугольниками и точками, что-то вроде официального конструктора, но написанного с нуля. Это будет отдельная вкладка в ресурсе. На примете ещё куча плюх, которые пока остаются в тайне. :)
        Владимир
        25 апреля 2016, 16:02
        +1
        Эх! Даже если будет платным, с меня донейт, ибо чую будет нужная (и мне) вещь!
        Алексей Смирнов
        25 апреля 2016, 23:27
        0
        Ясно. Просто тут моменттакой, что есть подобный mapex например, но там данные все помещаются в 1 поле.
        А этот компонент — помещает в поле только координаты, что меня ООчень устраивало. Но вот проблема, Все плагины карт, если включать их через MIGX перестают искать и работать.
        пришлось поставить Гугл карту и через нее искать. В результате я сделал что нужно, но заметил что гуг плохо ищет адреса… некоторых нет, А у Яндекса все как-то получше!..
        Поэтому Пришлось симбиозами заниматься. А вывод подмножества точек вообще в ручную написал по API карт… Зато прошарился наконец-то чутка. :)))
Олег Песчанский
10 августа 2015, 18:20
0
Вывожу с одним параметром
[[!yandexMaps?
&tvCoords=`map`
]]
Долго грузится страница, карта так и не появляется, в консоле браузера различные ошибки о том, что что-то не загрузилось с Яндекса.
    Олег Песчанский
    10 августа 2015, 19:08
    0
    Странно, ошибки пропали, а не работает из-за доктайпа <!DOCTYPE html>
    Почему?
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" «www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd»>
    Тоже не работает. Работает, если доктайп удалить вообще!
      Олег Песчанский
      10 августа 2015, 22:10
      0
      Оказалось, что нужно обязательно указать размеры! Стоит упомянуть об этом в документации!
      Например:
      &styleMapBlock=`width:100%;height:400px;`
        Олег Песчанский
        11 августа 2015, 09:58
        2
        0
        Если нужна только одна точка на карте, что бы работал zoom, нужно при вызове сниппета указать &checkZoomRange в false и &centerCoords с координатами точки. В документации первого параметра вообще нет.
        В общем рабочий вызов карты с одной точкой выглядит так:
        [[!yandexMaps?
        	&tvCoords=`coords `
        	&styleMapBlock=`width:100%;height:400px;`
        	&zoom=`16`
        	&checkZoomRange=`0`
        	&centerCoords=`[[*coords]]`
        ]]
        Это минимальное количество параметров!
          Fred
          13 июля 2016, 16:15
          0
          Спасибо!!!
Vlad
19 августа 2015, 08:10
0
Добрый день.
Вопрос в следующем на примере приведенного вверху дерева документов.
Допустим требуется чтобы страницы «Инвистиционные проекты» и «Инвестиционные площадки» также содержали карту и показывали свои дочерние объекты — все это круто реализуется, но
когда происходит открытие страницы «Карта» общего предка показываются все требуемые объекты плюс объекты-контейнеры «Инвистиционные проекты» и «Инвестиционные площадки», так как для них также указывались координаты (ведь они обязательны). Если я заново инициирую (сниму-включу) фильтр показываются требуемые (фильтрованные) объекты, если перегружу страницу фильтр сразу не отрабатывает и для показа нужных объектов требуется манипуляция.
Как тут лучше поступить и где поправить?
Спасибо!
Василий Палагин
01 января 2016, 16:14
0
Добрый вечер. Можно ли для параметра "&fieldForBalloonContent" использовать вызов собственного TV поля? например &fieldForBalloonContent=`[[*infoObject]]`?
Антон
29 марта 2016, 15:55
0
Приветствую Вас.
Товарищи! Подскажите пожалуйста что не так я делаю. Мой адрес не определяется на карте и свое изображение не выходит.
Использую стандартный пример
[[!yandexMaps?
	&id=`[[*id]]`
	&tvCoords=`coords`
	&markerIcon=`/images/cafe_marker_icon.png` /*тут указал свой путь*/
	&fieldForBalloonContent=`description`
	&fieldForHint=`pagetitle`
	&showMoreLink=`true`
]]
Создал доп.поле yandexmaps, указал шаблон страницы, в настройках страницы «контакты» на карте указал свой адрес.
Dima
05 апреля 2016, 02:06
0
Приветствую.
Подскажите пожалуйста карта выводится без маркера, причем при установке на чистый локальный modx все нормально работает. В чем может быть причина?
[[!yandexMaps?
&id=`[[*id]]`
&tvCoords=`coords`
&markerPreset=`islands#yellowStretchyIcon`
&markerPresetText=`Плавательный бассейн`
&fieldForBalloonContent=`description`
&fieldForHint=`pagetitle`
&showMoreLink=`true`
&styleMapBlock=`width:530px;height:450px;`
&centerCoords=`[[*coords]]`
&zoom=`16`
]]
Павлик Мышкин
05 апреля 2016, 17:47
0
Как убрать кластеризацию меток?
    Сергей
    12 августа 2016, 19:36
    0
    Присоединяюсь к вопросу
Виталий Барышников
21 апреля 2016, 16:43
0
Доброго времени суток. Подскажите можно ли как-то вывести адрес объекта на карте в баллон или хинт? Мне показалось что так нельзя и я сделал просто текстовую TVшку addressText, но и так не получается.
Вот как пробую (вызываю в контенте документа):
[[!yandexMaps?
	&tvCoords=`mapLocation`
	&fieldForBalloonContent=`introtext`
	&tpl=`custom.tpl.yandexMaps`
	&tplFiltersItemsWrapper=`@INLINE
	<h4 class="">Показ объектов на карте</h4>
	<ul class="mapfilters list-inline">[[+wrapper]]</ul>`
	&fieldForHint=`pagetitle`
	&zoom=`7`
	&markerPreset=`islands#yellowStretchyIcon`
	&markerPresetText=`pagetitle`
	&objectsTypesJSON=`[
		{
			"main": {
				"parent":"2",
				"preset":"islands#yellowStretchyIcon",
				"title":"Главный офис",
				"presetFieldText":"addressText"
			},
			"stores": {
				"parent":"5",
				"preset":"islands#violetStretchyIcon",
				"title":"Склады-магазины",
				"presetFieldText":"addressText"
			}
		}
	]`
]]
Получается сниппет не понимает TV. Как его научить понимать?, я смотрел код сниппета, сложновато для моего уровня.

А за компонент спасибо большое, идеально к моей задаче подходит.
    Николай Загумённов
    21 апреля 2016, 20:03
    0
    &fieldForBalloonContent=`introtext`
    Разве не этот параметр за это отвечает?
    Илья
    21 апреля 2016, 23:00
    +1
    Я в чанке showMoreLinkTpl вывожу любые поля с помощью pdofield:
    [[+id:pdofield=`description`:is=`[[+id]]`:hide]]
    аналогично с tv. Тут выводим description, если поле пусто, выводится id, а если выводится id — мы его скрываем.
    или
    [[pdoField?
        &id=`[[*id]]`
        &field=`description`
    ]]
    Или можно править в сниппете $fieldForBalloonContent
    Как в хинт — надо в сниппете править $fieldForHint.
      Виталий Барышников
      22 апреля 2016, 04:08
      0
      А феномом можно? Так не работает (выводит текстом после INLINE), возможно опечатка.
      &showMoreLinkTpl=`@INLINE {$_modx->runSnippet('!pdoField',
      	['id' => {$id},
      	 'includeTVs' =>'addressText',
           'field' => 'addressText'
      	])}`
      Виталий Барышников
      22 апреля 2016, 05:47
      0
      Все уже попробовал, только так видимо.
Юрий Фомин
05 мая 2016, 20:06
0
Огромное спасибо разработчику!
У меня на странице вывода карты их две вместо одной joxi.ru/brR8wxWH4jBJ21. Проблема не в компоненте, но надеюсь на помощь знатаков. При использовании mapex эфект был тот же.
Спасибо за ответы.
    Павел Гвоздь
    05 мая 2016, 21:07
    0
    Поиграйся с сист. настройкой cache_resource, может поможет…
      Юрий Фомин
      06 мая 2016, 03:45
      0
      Спасибо за ответ, но не помогло… И консоль и журнал ошибок пуст.
        Юрий Фомин
        09 мая 2016, 13:21
        0
        Мой косяк, случайно было 2 вывода на странице.

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

        [[!yandexMaps?
                &id=`[[*id]]`
                &tvCoords=`yamap`
                &markerPreset=`islands#violetDotIcon`
                &fieldForBalloonContent=`pagetitle`
                &fieldForHint=`pagetitle`
        ]]
          Юрий Фомин
          10 мая 2016, 10:00
          0
          Разобрался… как YandexMaps так и Mapex не дружат с фреймворком Uikit (2.26.1 на других не проверял), а именно конфликт где то в основной таблице стилей ( uikit.min.css ). Как найду отпишусь.
            Юрий Фомин
            10 мая 2016, 10:21
            0
            Конфликт из за стилей на тег canvas.
            Так что все работает, огромное спасибо за компонент! Супер.
Александр
06 июня 2016, 17:16
0
Ребят, по описанию — дополнение идеально подходящее в проект, но к сожалению на Modx 2.5.0 не могу поставить take.ms/4cG1K ни кода ошибки, ни текста…
    Павел Гвоздь
    06 июня 2016, 18:28
    0
    PHP 7?
      Александр
      06 июня 2016, 19:19
      0
      PHP Version 5.6.20 при этом другие дополнения ставятся и работают без проблем.
        Павел Гвоздь
        08 июня 2016, 23:41
        0
        Поправил. Проверяй.
          Александр
          09 июня 2016, 08:44
          0
          Спасибо… проверить не могу, так как с каким то шаманством установил его вручную :) и проект уже почти сдал…
Юрий Фомин
11 июля 2016, 15:51
0
Не подскажете, как отключить зум при прокрутке роликом мыши. Не могу найти этих настроек снипета.
    Володя
    11 июля 2016, 16:33
    0
    map = new ymaps.Map(
    ...
    );
    map.behaviors.disable('scrollZoom');
      Юрий Фомин
      14 июля 2016, 08:50
      0
      За код спасибо. Вот только мне не понятно. Выводя карту отдельно от компонента, куда вставить этот код я знаю. Но куда его закинуть когда карта выводиться при помощи компонента? Подскажите пожалуйста.
        stas
        25 ноября 2016, 09:29
        0
        присоединяюсь к вопросу
Greza
03 августа 2016, 08:24
0
Классное дополнение!
Было бы круто, если бы такой тип TV можно было бы добавлять в MIGX
Мне больше нравится к одному рессурсу, например странице КОНТАКТЫ, добавлять 1 TV параметр ФИЛИАЛЫ MIGX и в нем хранить все филиалы, да и клиенту понятней и наглядней.
joxi.ru/gmvR5d9IxokRnm
Попробовал, карта со строкой поиска добавилась, но искать координаты не хочет, а жаль, круто было бы.
joxi.ru/n2Y8qWVFjz3Bdm
Придется пока что как и раньше вручную добавлять.
    Anton
    31 октября 2016, 11:02
    0
    Согласен, удобно было бы вместо создания отдельных ресурсов MODX. Или реализовать добавление множественных адресов (координат) в одном ресурсе. Сейчас можно только один добавить.
      Павел Гвоздь
      31 октября 2016, 11:43
      +3
      К концу года выпущу вторую версию, если никаких незапланированных обстоятельств не случится. Там будет отдельная вкладка у ресурса, в которой можно добавить и точку на карте, и прямоугольник, и многоугольник. Почти, как конструктор Яндекс Карт.
        Anton
        31 октября 2016, 11:48
        0
        Множество объектов в одном ресурсе будет реализовано? Т.е хотелось бы чтобы ресурс контакты был один, а в нем в дополнительном поле для карт можно было бы добавлять несколько точек, координат и все их выводить на карту с разными названиями (Адрес один, Адрес 2).
          Павел Гвоздь
          31 октября 2016, 12:19
          0
          Именно так и даже больше…
            Anton
            31 октября 2016, 12:23
            +1
            Класс! Желаю вам успехов в реализации. Очень нужный компонент.
        Владимир
        31 октября 2016, 12:07
        +1
        Anton
        09 января 2017, 21:52
        0
        Нет примерных сроков выпуска обновленного компонента? Уже начало нового года.
Владимир Ульяновский
13 августа 2016, 22:19
0
После установки TV не появилось в месте вывода ничего не появилось… Я мануал то прочитал но что то безрезультатно…
Скажите порядок действий, спасибо.
Андрей
04 октября 2016, 16:16
0
Добрый день.
У меня есть раздел с городами, куда мы производим доставку. И хочется на каждой странице вывести соответствующий адрес. Вот с общей картой все хорошо, на карте мира)) он все маркеры выводит. А вот с одиночной — никак. Подскажите, что я делаю не так, вывожу стандартно:
[[!yandexMaps?
	&id=`[[*id]]`
	&tvCoords=`coords`
	&markerPreset=`islands#yellowStretchyIcon`
	&markerPresetText=`Плавательный бассейн`
	&fieldForBalloonContent=`description`
	&fieldForHint=`pagetitle`
	&showMoreLink=`true`
]]
Андрей
12 октября 2016, 19:07
0
На трех разных сайтах пытался вывести карту. Все выводится, но маркера нет. Подскажите в чем проблема?
вывод такой:
[[!yandexMaps?
	&tvCoords=`coords `
	&styleMapBlock=`width:100%;height:400px;`
	&markerPreset=`islands#yellowStretchyIcon`
	&zoom=`12`
	&checkZoomRange=`0`
	&centerCoords=`[[*coords]]`
]]
Николай
01 ноября 2016, 00:58
0
Столкнулся с такой проблемой:
Параметр &showMoreLinkTpl имеет такое значение по умолчанию (посмотрел в сниппете)
@INLINE <p><a href="[[~[[+id]]]]" target="_blank">Подробнее</a></p>
Но стоит его прописать в ресурсе
[[!yandexMaps?
	...
    &showMoreLinkTpl=`@INLINE <p><a href="[[~[[+id]]]]" target="_blank">Подробнее</a></p>`
	...
и генератор ссылок отказывается работать, выдает такую ошибку
`[[+id]]` is not a valid integer and may not be passed to makeUrl()
Да, я могу редактировать параметры по умолчанию прямо в сниппете, но почему так происходит? Это моя ошибка?
eflit
24 ноября 2016, 17:28
0
Добрый день смотрите у меня на сайте организована такая карта ссылка

поле где полный адрес ввожу адрес объекта автоматом заполняются поля

с помощью YandexMaps я могу организовать такую же форму
stas
25 ноября 2016, 09:09
0
Не работает zoom почему то
[[!yandexMaps?
                    	&id=`[[*id]]`
                    	&styleMapBlock=`height:100%;width:100%;margin:0;padding:0`
                    	&tvCoords=`coords`
                    	&fieldForBalloonContent=`description`
                    	&fieldForHint=`pagetitle`
                    	&showMoreLink=`true`
                    	&classMapBlock=`yandexMap`
                    	&markerPresetText=`Плавательный бассейн`
                    	&zoom=`12`
                    	&checkZoomRange=`12`
                    ]]
    stas
    25 ноября 2016, 09:24
    0
    все получилось извините за вопрос
    [[!yandexMaps?
                        	&tvCoords=`coords`
                        	&styleMapBlock=`height:100%;width:100%;margin:0;padding:0`
                        	&zoom=`13`
                        	&checkZoomRange=`0`
                        	&centerCoords=`[[*coords]]`
                        	&fieldForBalloonContent=`introtext`
    	                    &fieldForHint=`description`
                        ]]
stas
25 ноября 2016, 09:29
0
Возник еще вопрос как сделать что бы карта не зумилась то есть прописать вот это
myMap.behaviors.disable('scrollZoom');
    stas
    25 ноября 2016, 09:36
    0
    вставил в чанк tpl.yandexMaps myMap[[+idMap]].behaviors.disable('scrollZoom');
    сам спросил сам ответил=\
eflit
28 ноября 2016, 17:09
0
Здравствуйте подскажите как мне поставить условие такого вида &tvFilters=`publikob==1`
Romancho
29 ноября 2016, 16:25
0
А как в правой части вывести список ресурсов по каждому флажку из дерева ресурсов.

[[!yandexMaps?
        &tvCoords=`coords`
        &fieldForBalloonContent=`content`
        &fieldForHint=`pagetitle`
        &objectsTypesJSON=`[
            {
                "OpenShop": {
                    "parent":"596",
                    "preset":"islands#blueDotIcon",
                    "title":"Список работающих магазинов",
                    "subFilters": {
                        "types": {
                            "presetFieldText":"pagetitle"
                        }
                    }
                },        
                "SoonShop": {
                    "parent":"598",
                    "preset":"islands#orangeDotIcon",
                    "title":"Скоро открытие"
                }
            }
        ]`
    ]]
Что нужно в subFilters добавить? pdoResources и pdoFiled в чанках карты работают не так.
Сергей
14 декабря 2016, 18:36
0
С зумом так и не решено? Может кто сам решил, поделитесь решением, заранее спасибо.
UDAV
10 января 2017, 01:27
0
Подскажите как фиолетовые круги на зеленые поменять prntscr.com/dtky9y
все облазил и не нашел

в json параметр «preset»:«islands#darkGreenStretchyIcon»… т.е. тут явно зеленые указаны, откуда фиолетовые?
Александр
10 января 2017, 17:32
0
А параметр &tvAddress вообще работает?
Делаю вызов

[[!yandexMaps?
&tvAddress=`adres`
&tvCoords=`coords`
&addressPrefix=`Украина, [[*cityfirm]], `
&zoom=`16`
&fieldForBalloonContent=`pagetitle`
&styleMapBlock=`width:100%;height:300px;`
&checkZoomRange=`0`
&centerCoords=`[[*coords]]`
]]

Выводит город и маркер в центре города для всех адресов. То есть город передается через [[*cityfirm]], а сам адрес нет.

У кого-нибудь работает &tvAddress? Что надо сделать? Как правильно вызывать?
    Антон
    23 января 2017, 19:34
    0
    Тоже самое. Не нашел решение?
Stan Ezersky
25 января 2017, 10:08
0
О компонент рабочий?

А то в коде страницы вроде бы всё есть, а вот визуально на странице карта отсутствует
    Здоров Александр
    25 января 2017, 10:12
    0
    в стили пропишите размер для div с картой, помогает
    на этом сайте карта выводится
      Stan Ezersky
      25 января 2017, 10:13
      0
      Да уже все параметры перепробовал, результат нулевой
    Stan Ezersky
    25 января 2017, 10:17
    0
    var ymFormAction = $(ymFormId).attr('action');
    консоль показала, что ошибка тут
ck
ck
28 февраля 2017, 17:08
0
Можно ли вывести на странице несколько карт с одиночными объектами? Пока не выходит.

Делаю выборку документов с помощью pdoResources:
[[!pdoResources?
    &includeTVs=`ymap`
    &tvPrefix=``
    &tpl=`@FILE tpl/object.html`
]]

YandexMaps вызываю внутри чанка object.html:
[[!yandexMaps?
    &id=`[[+id]]`
    &zoom=`10`
    &tvCoords=`ymap`
    &idMap=`d0006259[[+id]]`
    &fieldForBalloonContent=`address`
    &fieldForHint=`menutitle`
    &styleMapBlock=`width: 250px; height: 342px;`
    &markerPreset=`islands#yellowStretchyIcon`
]]

Все карты выводятся адресом первого документа. И не срабатывает параметр zoom.
Подскажите, что делаю не правильно?
    astaff
    20 ноября 2017, 22:19
    0
    Та же проблема с выводом нескольких карт на одной странице, не удалось решить?
Николай
07 марта 2017, 11:23
0
Какая-то мистика происходит… компонент установил, делаю по любому из примеров — просто не выводит в область контента карту, не по координатам, не по адресу.
    Сергей
    20 апреля 2017, 07:11
    0
    В общем как писалось выше и написано в документации карт, им нужен контейнер с четкой высотой и шириной:
    <body>
    	<div style="width: 600px; height: 400px">
    		[[!yandexMaps?]]
    	</div>
    </body>
    Тогда все появится.
Сергей
19 апреля 2017, 19:55
0
Такая же проблема, в консоле:
index.php:167 A Parser-blocking, cross site (i.e. different eTLD+1) script, http://api-maps.yandex.ru/2.1/?lang=ru_RU&load=Map,Placemark,GeoObjectColle…ddon.balloon,package.controls,templateLayoutFactory,overlay.html.Placemark, is invoked via document.write. This MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message.See https://www.chromestatus.com/feature/5718547946799104 for more details.
А на строке 167:
if(typeof ymaps == "undefined"){
	//document.write('<script type="text/javascript" src="//api-maps.yandex.ru/2.1/?lang=ru_RU" ></'+'script>');
	document.write('<script type="text/javascript" src="//api-maps.yandex.ru/2.1/?lang=ru_RU&load=Map,Placemark,GeoObjectCollection,map.addon.balloon,geoObject.addon.balloon,package.controls,templateLayoutFactory,overlay.html.Placemark" ></'+'script>');
}
Думаю можно подключить карты самим, отпищусь о результатах.
Alexey
02 мая 2017, 18:49
0
Друзья, подскажите, пожалуйста!

Вот сайт (MODX REVO), иконки объектов в нем — мягко говоря — не совсем круглой формы. Не могу понять, где в компоненте YandexMaps править этот косяк.

Вызов сниппета:
[[!yandexMaps?
	&tvCoords=`coords`
	&centerCoords=`59.93602798770931,30.31977342641057`
	&fieldForBalloonContent=`description`
	&fieldForHint=`pagetitle`
    &showMoreLink=`true`
	&styleMapBlock=`height:450px;`
	&objectsTypesJSON=`[
		{
			"InvestProjects": {
				"parent":"65",
				"preset":"islands#orangeStretchyIcon",
				"icon":"/maket/images/red_icon.png",
				"presetText":"камеры и боксы",
				"title":"камеры и боксы"
			},
				"InvestPlaygrounds": {
				"parent":"66",
				"preset":"islands#greenStretchyIcon",
				"icon":"/maket/images/green_icon.png",
				"presetText":"Автоматические",
				"title":"Автоматические"
			},
    			"Investors": {
    				"parent":"67",
    				"preset":"islands#blueStretchyIcon",
    				"icon":"/maket/images/blue_icon.png",
    				"presetText":"Дробемёты",
    				"title":"Дробемёты"
    			}
		}
	]`
]]

Направьте, пожалуйста, буду очень благодарен!
    pompa94
    22 августа 2017, 11:46
    0
    «icon»: адрес_иконки
Андрей Дем
06 июня 2017, 23:40
0
Подскажите пожалуйста, как можно сделать, чтобы карта открывалась на текущем местоположении пользователя, по центру его локации в данный момент? Возможно ли прикрутить автоматическую геолокацию к YandexMaps?
Sphinx
13 июня 2017, 09:45
0
Добрый день!
Подскажите пожалуйста, в админ. панели необходимо сделать для карты переключение слоев, каким образом можно сделать? Я понимаю, что при обновлении сниппета это все удалиться, но все же…
А если это будет включено в обновлении сниппета, то будет вообще супер.
Сергей
21 августа 2017, 20:49
0
Кто знает как вывести адрес на карте во фронтальной части? Улицу и номер дома. Точнее ту информацию, которая есть в админке.
Андрей
31 августа 2017, 18:53
1
0
Добрый вечер! Подскажите кто сталкивался с подобным:
PHP notice: Undefined index: ymJSON
PHP notice: Undefined variable: objectsTypes
Вызываю так:
[[yandexMaps?
    &id=`[[*id]]`
    &tvCoords=`coords`
    &markerPreset=`islands#yellowStretchyIcon`
    &markerPresetText=`[[*pagetitle]]`
    &styleMapBlock=`width: 250px; height: 342px;`
]]
koozoo
04 сентября 2017, 23:22
0
Почему-то zoom у карты всегда максимально приближен, чтобы не менялось: ни zoom в переменных, ни просто zoom: 15, к примеру, в самом шаблоне.
    mrkmx
    15 сентября 2017, 16:39
    0
    Идём в tpl.yandexMaps, в 182-184 строке меняем вызов метода на:
    geoObjects.applyBoundsToMap(myMap[[+idMap]], {
    					checkZoomRange: false
    				});
    				myMap[[+idMap]].setZoom([[+zoom]]);
    Т.е. по факту заменить true на false и дописать строку.
    Решение было найдено пользователем olvin, когда комментить можно было в отзывах о расширении. Слава Вебархиву
slavkovladymyr
23 сентября 2017, 15:36
0
Если к одной странице в админке подключить два тв-параметра типа yandexMaps, то поиск во второй карте не работает, и приводит к перезагрузке страницы. Кто-то сталкивался с этим? Как можно решить? Это видимо связано с дублированием id элементов карты.
Олег
02 октября 2017, 00:53
0
Подскажите, как быть если у одного ресурса должно быть 20 меток на карте?
И есть один ресурс-родитель, на котором нужно вывести все метки со всех дочерних ресурсов (около 500 меток).

Подойдет ли данный компонент и как в этом случае добавить 20 меток к одной карте?
    Олег
    05 октября 2017, 01:54
    0
    Во всем разобрался. Спасибо за компонент!
    Жаль только нельзя устанавливать разный зум для множества точек и для одной точки.
PowR TocH
18 октября 2017, 10:48
0
У меня самый глупый вопрос, но куда прописывать координаты объекта в созданном TV поле coords?

С помощью &centerCoords я указал центр карты над объектом, и теперь карта загружается с этого места. Но мне не удаётся увидеть маркер над объектом и надпись.

    PowR TocH
    18 октября 2017, 18:52
    0
    Решен вопрос. Метка появилась.
adminixi
16 ноября 2017, 12:43
1
+1
ДОбрый день.

Скажите, как вывести две карты на одной странице одного ресурса?

Я вывожу вот так:
[[!yandexMaps? 
            			        &tvCoords=`yandexmap1` 
            			        &centerCoords=`[[*yandexmap1]]` 
            			        &styleMapBlock=`width:100%; height:360px;` 
            			        &zoom=`10`
            			        &idMap=`1`
            			     ]]
[[!yandexMaps? 
            			        &tvCoords=`yandexmap2` 
            			        &centerCoords=`[[*yandexmap2]]` 
            			        &styleMapBlock=`width:100%; height:360px;` 
            			        &zoom=`10`
            			        &idMap=`2`
            			     ]]
Но выводится две карты с одним адресом.
    astaff
    20 ноября 2017, 22:20
    0
    Та же проблема с выводом двух карт на одной странице, не удалось решить?
expert33
expert33
01 декабря 2017, 13:44
0
Привет!
Подскажите пожалуйста, ни как не могу понять почему, может быть кто сталкивался:
Выводу карту с множеством объектов.
Но не отображается фильтр, фильтр есть и есть чекбоксы только родителя но нет названий, и вложенных чекбоксов для фильтра.
Вывожу так:
[[!yandexMaps?
                
	            &tvCoords=`coords`
	            &fieldForBalloonContent=`introtext`
	            &includeContent = `1`
	            &showMoreLink=`true`
                &showMoreLinkTpl=`contentFlag`
                &styleFiltersBlock=`float:left;width:100%; height:300px;`
                &styleMapBlock=`float:right;width:100%;height:500px; margin-top:20px;`
                &tpl=`yandexMaps`
                &tplFiltersItems=`yandexMaps.filtersItems`
                &tplFiltersItemsWrapper=`yandexMaps.filtersItemsWrapper`
	            &objectsTypesJSON=`[{
	                            		
				                "Office_dcr": {
				                    "parent":"4",
				                    "preset":"islands#violetStretchyIcon",
				                    "presetFieldText":"tv.nPodrazdeleniya"
				                    }
				                
				                }]`
            ]]
    expert33
    expert33
    04 декабря 2017, 09:26
    0
    Подскажите пожалуйста, в данном случае у меня 2 тыс. объектов.
    Необходимо реализовать фильтр, фильтр сам не появляется, а если делать вручную через json это слишком сложно (прописывать все в ручную).
    И еще вывод по умолчанию фильтра почему то не отображает русские шрифты, красным выделил.
expert33
expert33
01 декабря 2017, 13:47
0
    Alexander
    22 июля 2018, 21:50
    0
    Здравствуйте! Решили как-то этот вопрос?
    SonG
    22 апреля 2019, 13:10
    0
    &styleFiltersBlock=`display:none`
Дмитрий
24 марта 2018, 08:41
0
Добрый день. Такой вопрос — уже не на первом сайте в консоле браузера Uncaught ReferenceError: suggestView is not defined. Соответственно при манипуляциях Placemarkом координаты не изменяются.
    Дмитрий Танцирев
    12 сентября 2019, 10:00
    1
    +1
    1. Откройте файл: "/{core_path}/components/yandexmaps/tv/input/tpl/tv.yandexMaps.input.tpl

    2. Вырежьте из 108-ой строки:
    window.suggestView = new ymaps.SuggestView('suggest', {literal}{'results':'9'}{/literal});
    3.1 И вставьте её перед: (примерно 180-я строка)
    suggestView.events.add('select', function (e) {
    3.2 Таким вот образом:
    var suggestView = new ymaps.SuggestView('suggest', {'results':'9'});
Сергей
13 мая 2018, 00:10
0
Наткнулась на компонент Google Maps TV, простой до боли) Ставила сначала этот компонент но запуталась.
Пне в данный момент нравится как у гугла реализованы карты на мобильной версии. Вот странно, что яндекс никак не хочет сделать хотябы что то похожее на гуглокарты. Он прям выдает сообщение что масштаб со смартфона только 2мя пальцами.
Может кому пригодится хорошая инструкция по установке компонента

selection-studio.com/karta-google-dlya-kazhdogo-resursa-kak-tv-pole.html
Николай
16 мая 2018, 11:00
0
Добрый день,
Борюсь уже неделю, ни как не могу сделать:
Подскажите пожалуйста, как выводить на карту только те маркеры(Балуны) которые в видимой части карты.
Т.е. у меня +10 тыс объектов, при стандартном множественном выводе он не выводит, ошибка по тайм ауту соответственно, как сделать так что бы они погружались только на видимую область экрана.
Огромное спасибо!
Андрей
19 августа 2018, 10:29
0
Сделал все по инструкции, тестово вывожу через код из примера — у меня даже карта не грузится
[[!yandexMaps?
    &tvCoords=`coords`
    &fieldForBalloonContent=`description`
    &fieldForHint=`pagetitle`
    &objectsTypesJSON=`[
        {
            "InvestProjects": {
                "parent":"5",
                "preset":"islands#violetStretchyIcon",
                "presetText":"Реализованный",
                "title":"Инвестиционные проекты"
            },
            "InvestPlaygrounds": {
                "parent":"6",
                "icon":"/images/playgrounds_map_icon.png",
                "title":"Инвестиционные площадки"
            }
        }
    ]`
]]
Андрей
23 августа 2018, 11:21
0
Добрый день. Подскажите, можно ли в параметре fieldForBalloonContent использовать свой шаблон. Например, хочется оформить баллон красиво, с использованием нескольких полей ресурса (наименование, адрес, фото)
DimenSi
23 августа 2018, 12:47
0
Как менять настройки для маркеров? Указать размеры и смещение?
Александр
13 декабря 2018, 12:56
0
Так как же всё таки вывести под картой список ресурсов, по нажатию на который происходил бы переход к маркеру на карте?
Малахов Владимир
04 января 2019, 06:31
0
Вообще не понял как это всё устанавливать
    Малахов Владимир
    04 января 2019, 11:31
    0
    Вообще не понял как это всё устанавливать
    На 3 пункте запнулся
    Что надо сделать-то?
Сергей
28 января 2019, 19:42
0
Notice: Undefined index: ymJSON in /core/cache/includes/elements/modsnippet/15.include.cache.php on line 477

Notice: Undefined variable: objectsTypes in /core/cache/includes/elements/modsnippet/15.include.cache.php on line 487

Что это за ошибки?
Михаил
20 марта 2019, 13:35
0
Как задать центр карты?

Пробовал задавать параметр centerCoords как в вызове, так и в параметрах ввода координат. Не работает.
Руслан Попков
29 июня 2019, 19:16
0
а у меня не выводится карта почему то?
[[!yandexMaps?
                	&tvCoords=`coords`
                ]]
Дмитрий Танцирев
12 сентября 2019, 09:56
0
Оч давно пользуюсь данным компонентом, спасибо Павел!
Но, всегда возникает один и тот же вопрос после установки этого компонента на каждый новый сайт: «как оно у тебя работает?» =)

Всегда и на всех сайтах, консоль браузера выдаёт одну и ту же ошибку: «Uncaught ReferenceError: suggestView is not defined». Карта прогружается, но не работает поиск, маркер и клик по карте (на переставляет маркер).

Приходится лезть в "/{core_path}/components/yandexmaps/tv/input/tpl/tv.yandexMaps.input.tpl

Удалять из 108-ой строки, строку:
window.suggestView = new ymaps.SuggestView('suggest', {literal}{'results':'9'}{/literal});
И вставлять её перед 180-ой строкой, перед:
suggestView.events.add('select', function (e) {
Таким вот образом:
var suggestView = new ymaps.SuggestView('suggest', {'results':'9'});
Только после этого карта запускается и начинает работать.
Ибо suggestView.events.add банально не видит window.suggestView
Т.к. она вне области видимости.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
180