Клуб API Карт

Как отключить скроллинг карты в редакторе полигона

gid-l
1 октября 2016, 16:42

Добрый день.

Использую API 2.1. На карту добавляю полигон и после введения его в режим редактирования polygon.editor.startDrawing(); сама карта начинает автоматически скролиться при подводе курсора к краю карты.

Как можно отключить такое поведение карты?

Спасибо.

8 комментариев
Подписаться на комментарии к посту
Если совсем не нужен – можно передать ключи нужных при создании карты в state карты
Если отключать только на время включения редактора полигона – можно использовать менеджер поведений карты myMap.behaviors
dimik,
Не наблюдаю в менеджере нужного мне варианта.
Еще раз уточню, что карта начинает скролится сама просто при подводе мышки к краю карты без всяких нажатий кнопок. 
drag влияет только на скроллинг при зажатой левой кнопке мыши. Его отключение никак не сказывается на указанном мною варианте поведения.
gid-l,
Я понял, речь про EdgeMove, это фича для рисования точек, ее сейчас нельзя отключить. Суть в том, что если вам надо поставить точку за областью видимости карты – не нужно переходить в режим таскания карты.


Я напишу разработчикам, чтобы добавили опцию отключения EdgeMove
dimik,
Понял, спасибо, буду с надежной ждать.
Объясню почему неудобно. Я обвожу на карте объект. Одновременно с помощью
map.events.add( 'boundschange', function( e ) {
var bounds = e.get( 'newBounds' );
...
} );

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


В других местах я на карту вешаю дополнительную кнопку для включения и выключения режима редактирования. Если отключить, то можно смело мышку выводить из карты.
В данном случае у меня такая кнопка неуместна.

dimik,
Если подключить версию API 2.0 , то карта ведет себя "адекватно" и никуда не скролится.
Такая опция есть, называется useAutoPanInDrawing (editorUseAutoPanInDrawing, по умолчанию true), просто она еще не попала в документацию.
thekashey,
Создаю вот так:
this.polygon = new ymaps.Polygon( ymaps.geometry.Polygon.fromEncodedCoordinates( $( '#edit-coords' ).val() ), {}, {
// Не скролить карту в режиме редактирования полигона.
editorUseAutoPanInDrawing: false,
// Курсор в режиме добавления новых вершин.
editorDrawingCursor: 'crosshair',
// Максимально допустимое количество вершин.
editorMaxPoints: 500,
// Цвет заливки.
fillColor: '#00FF00',
// Цвет обводки.
strokeColor: '#0000FF',
// Ширина обводки.
strokeWidth: 1,
// Общая прозрачность (как для заливки, так и для обводки).
opacity: 0.3
} );
Продолжает скролиться.
ЗАРАБОТАЛО! Спасибо.