Javascript OpenLayers:绘制多边形和点,然后拖动它们

Javascript OpenLayers:绘制多边形和点,然后拖动它们,javascript,openlayers,Javascript,Openlayers,希望解决一个问题,我与开放层 第一个问题:我有一个实体,它有地图上绘制的航路点和路线的集合。我想把多边形线和点拖到一起 第二个问题:当我有多个实体时,是否还有一种方法可以为我添加唯一的图层或特征?我不想移动不同实体的航路点或线路,因此我可以使用开放图层绘制唯一且只能通过名称访问的线路吗 我刚开始打开图层,但仍在尝试找出浏览api文档的最佳方式。第一个问题答案:将线条和点的功能组合到一个功能“集合”(ol.collection)中 第二个问题答案:对于唯一的实体,您应该将使用的各种功能附加到实体本

希望解决一个问题,我与开放层

第一个问题:我有一个实体,它有地图上绘制的航路点和路线的集合。我想把多边形线和点拖到一起

第二个问题:当我有多个实体时,是否还有一种方法可以为我添加唯一的图层或特征?我不想移动不同实体的航路点或线路,因此我可以使用开放图层绘制唯一且只能通过名称访问的线路吗


我刚开始打开图层,但仍在尝试找出浏览api文档的最佳方式。

第一个问题答案:将线条和点的功能组合到一个功能“集合”(ol.collection)中

第二个问题答案:对于唯一的实体,您应该将使用的各种功能附加到实体本身。选择实体时,将返回所选实体所具有的要操作的特征集合

    //get the selected entity that had the waypoints appended to the object
    const selectedEntity = this.entities.get(this.selected);
    //combine the points and the polygon line into one array to turn into a collection
    var linesAndPoints = selectedEntity.waypointFeatures.icons.concat(selectedEntity.waypointFeatures.lines);
    //create an ol.collection object to add to the translate interaction
    let featuresCollection = new ol.Collection(linesAndPoints);
    this.myTranslate = new ol.interaction.Translate({
      condition: ol.events.condition.click,
      hitTolerance: 5,
      features: featuresCollection
    });

不知道为什么我会有负面的名声。问题本身就是试图弄清楚开放层希望处理层和特征的方式,以便我可以创建独特的特征,以便在选择实体时访问。如果我在这里转储代码,将无法更轻松地帮助讨论开放层所需的构造,以便在地图上拥有唯一的数据集合,这些数据集合可以基于当前选定的实体进行拖动。