Вы здесь

Создание карты с местоположением пользователя Geofield Yandex Maps

0

Вопрос по модулю Geofield Yandex Maps. Как при создании материала отображать текущее местоположение пользователя? Пробую данным скриптом и многими его вариациями что то не как не реагирует.

(function ($) {
  Drupal.behaviors.yourName = {
    attach : function(context, settings) {
        $('#edit-field-map-marker-und-geom').bind('yandexMapInit', function (event, map) {          
            var map = Drupal.geofieldYmap;      
            var location = ymaps.geolocation;
            // Получение местоположения и автоматическое отображение его на карте.
            location.get({
                mapStateAutoApply: true
            })
            .then(
                function(result) {
                    map.geoObjects.add(result.geoObjects)
                }
            );          
        });  
    }
  };
})(jQuery);


Версия Drupal: 
7.x
Связанные проекты: 
Geofield Yandex Maps
Вопрос задан 02.12.2018 - 17:41

ошибок не каких нет, если просто через js карту создавать то все ок. Я так полагаю что я как то не так обращаюсь к карте

Комментарий оставлен 02.12.2018 - 18:40

Ответы

0

Проблему решил изменением переменной

var map = Drupal.geofieldYmap

на:

var map = Drupal.geofieldYmap.data["edit-field-map-marker-und-geom"].map;

именно там содержится сам объект карта.
Правда не знаю на сколько это верное решение?
UPD: Удалил

var map = Drupal.geofieldYmap.data["edit-field-map-marker-und-geom"].map;

остальной код остался неизменным.

Ответ дан 02.12.2018 - 19:39

map приходит в yandexMapInit, её не надо отдельно инициализировать

Комментарий оставлен 02.12.2018 - 20:02

Можете подсказать как правильно сделать то что делаю я.

Комментарий оставлен 02.12.2018 - 20:10