Приветствую!
Господа гуру, подскажите пожалуйста как решить задачу, которая кажется тривиальной, но не получается побороть!
Через модуль yamaps вывожу местоположение объекта в ноде. Все замечательно!
В своем модуле, пытаюсь навесить событие на кнопку, которое в конечном счете, должно взять уже выведенную карту, добавить туда точку положения пользователя и проложить маршрут к существующему балуну.
Застрял на первом этапе – получить объект yamaps. Во всех манах, все начинается с создания : var mymap = new ymaps.Map( … и т.д. Что создает рядом новую карту.
Drupal.behaviors.modulename = {
attach: function (context, settings) {
…
В сеттинге есть и ID карты, и объект ее (но не является я так понимаю yamaps объектом). А функций аля ymaps.get(), ymaps.load() не нашел.
Не красиво будет убивать карту, и строить новую!
Подскажите пожалуйста решение.
Спасибо.
Комментарии
Создать карту с "местоположение объекта в ноде" и "точкой положения пользователя и проложить маршрут к существующему балуну."
Спасибо большое!
НО!
скажем так - это опция! должно отображать только "местоположение объекта в ноде" !
А если юзер вздумал туда поехать - жмакнул пимпочку - и увидел путь!
У maps yandex можно использовать для карты стандартные инструменты, а можно вывести сценарий кодом, смотри больше на https://tech.yandex.ru/maps/jsbox/2.1/deliveryCalculator
Например
Маршрут от точки на карте https://tech.yandex.ru/maps/jsbox/2.1/route_panel_control
Местоположение пользователя https://tech.yandex.ru/maps/jsbox/2.1/geolocated_map
Вы не поняли мою проблему!
Смотрите : https://tech.yandex.ru/maps/jsbox/2.1/route_panel_control - с 2 по 7 строчку создается myMap
Как получить объект уже созданной карты ?
Я Вас понял, не надо получать объект уже созданной карты, надо создать карту и использовать нужный объект из Drupal.settings
ну, вот этим щась занимаюсь!
Просто странно!
получается пересоздание карты! А старую прибить ... не логично ИМХО
(что бы убрать балун, добавить точки, роут и маштаб)
Спасибо !
> В своем модуле, пытаюсь навесить событие на кнопку, которое в конечном счете, должно взять уже выведенную карту,
На этом уровне Вам придется использовать определенной js событие и данные которые сформированы для карты, доступ к данным js регламентируется областью видимости её переменных, как вариант Вы можете при нанесении объекта на карту ( или это мог сделать автор) дернуть событие например .trigger('chageMapObject' ... и передать туда объект тогда Вы бы в своем модуле могли бы заюзать .bind('chageMapObject'