是否有机会在openlayers 5中将拖动地图方向键(Alt + Shift + Drag)更改为Ctrl + Drag(keybinding)

时间:2019-02-19 06:51:51

标签: openlayers map-directions openlayers-5 angular-openlayers

    我的应用程序中的
  • 使用的是angular 6和openlayers V5。

  • 对于此openlayers来说是非常新的

  • 我已完成导航,可以设置视图方向(输入客户的选择)
  • 我不得不改用Ctrl + Drag而不是Alt + Shift + Drag来拖动地图方向
  • 示例是Rotate

map-component.ts

this.source = new OlXYZ({
   url: 'http://tile.osm.org/{z}/{x}/{y}.png'
});
this.layer = new OlTileLayer({
   source: this.source
});
this.view = new OlView({
   center: fromLonLat([6.661594, 50.433237]),
   zoom: 3,
   enableRotation: true
  // rotation: rotation
});
this.map = new OlMap({
   target: 'map',
   layers: [this.layer],
   view: this.view
});
this.view.setRotation(Math.PI / 180 * 90);

//this code will get list of roatate interations
console.log(this.map.controls.getArray()[1].map_.interactions.array_[0].condition_.name);
console.log(this.map.interactions.array_[0].condition_.name);
  • 请检查上面的代码以及如何更改旋转地图拖动旋转键的默认控件,
  • 请保存我的日子
  • 提前感谢

1 个答案:

答案 0 :(得分:1)

尝试一下:

this.map = new OlMap({
   target: 'map',
   layers: [this.layer],
   view: this.view,
   interactions: ol.interaction.defaults({altShiftDragRotate: false}).extend([
      new ol.interaction.DragRotate({condition: ol.events.condition.platformModifierKeyOnly})
   ])
});