Открытые слои 3 отключают поворот щипка после загрузки карты

Я хотел бы, чтобы в моем приложении была опция, позволяющая отключать вращение щепотки, когда пользователь этого желает.

У меня есть карта:

map_object = new ol.Map({
target: 'map',
controls: controls_list,
interactions: interactions_list,
overlays: [overlay],
layers: vector_layers,
view: view
});

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

var interactions_list = ol.interaction.defaults({altShiftDragRotate:false, pinchRotate:true, dragPan:true}); 

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


person Single Entity    schedule 15.01.2015    source источник


Ответы (1)


Если вы используете OpenLayers v3.1.1, вы можете включить / отключить взаимодействие, вызвав _1 _ / _ 2_ при взаимодействии.

Сначала вам нужно найти PinchRotate взаимодействие в коллекции взаимодействий:

var interactions = map.getInteractions().getArray();
var pinchRotateInteraction = interactions.filter(function(interaction) {
  return interaction instanceof ol.interaction.PinchRotate;
})[0];

Затем вы можете включать и отключать взаимодействие по мере необходимости:

pinchRotateInteraction.setActive(false);
pinchRotateInteraction.setActive(true);
person erilem    schedule 19.01.2015