Клуб API Карт

Карта метро с выбором станций на сайте

Пост в архиве.

Добрый день. Пришел ко мне сайт, на котором реализована карта метро с выбором станций для фильтрации проектов. Можно посмотреть например на этой страничке: https://wise.cp83249.tmweb.ru/category/rent/ , в левой колонке - выбрать на карте.

Нашел, откуда был взята данная карта - https://github.com/ymaps/metro-jsapi

Задача: убрать drag с карты, чтобы она была статичной. Перепробовал уже все, от подламывания скрипта до css. Ничего не помогает, карта становится статичной, но при движении мышкой как бы под статичной картой двигается реальная карта, т.е. реальное положение станций метро становится другим, следовательно выбор станцй становится невозможным

https://wise.cp83249.tmweb.ru/maps/metro.debug.js - скрипт карты. 

function addmetro() {
            ymaps.modules.require(['TransportMap']).spread(function (TransportMap) {
                test = TransportMap.create('moscow', 'map', {
                    //center: [0,0]
                }, {
                    path: '/maps/metro-jsapi-master/metro-data-master/'
                    , shadeOnSelect: true
                    , lang: 'ru'
                }).then(function (map) {
                    map.behaviors.disable('drag');
                    //map.behaviors.disable('scrollZoom');
                });
                
                 
            }).done();
            
        }
       
        function delthings() {
                //$('.ymaps-2-1-48-copyrights-pane').remove();
            }
               setInterval(delthings, 10);
myMap.behaviors.disable('drag'); - не работает. Карта даже не воспринимает behaviors. Может я что-то делаю не так или это просто нереально с помощью данного скрипта убрать драг?
3 комментария
А зачем вы удаляете слой с копирайтами?

delthings?


Судя по документации create возвращает промис с инстанцией класса TransportMap, и у неё нет поля behaviors.


Должно работать примерно так:


TransportMap.create(...).then(function(transportMap) {
  transportMap.getMap().behaviors.disable('drag');
});
Алексеев И.
3 сентября 2017, 02:08
dimik,
Насчет копирайтов - вставил лишний кусок случайно. 


>transportMap.getMap().behaviors.disable('drag'); работает, спасибо, Вы мне очень помогли :)
Алексеев И.,
Отлично! Закройте тогда, пожалуйста, свой тикет.
https://github.com/ymaps/metro-jsapi/issues/10