-2
  • 在我的应用程序中,我使用 angular 6 和 openlayers V5。

  • 我对这个开放层很新

  • 我已经做了方向,可以设置视图方向(输入客户的选择)
  • 我有更改使用 Ctrl+Drag 而不是 Alt+Shift+Drag 在地图方向上拖动
  • 示例是旋转

地图组件.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);
  • 请检查上面的代码以及如何更改旋转地图拖动旋转键的默认控件,
  • 请拯救我的日子
  • 提前致谢
4

1 回答 1

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})
   ])
});
于 2019-02-19T10:56:37.273 回答