【问题标题】:OpenLayers 4 extent.extend replacementOpenLayers 4 extent.extend 替换
【发布时间】:2019-03-13 20:26:35
【问题描述】:

我正在将代码从 OpenLayers 3 移动到 OpenLayers 4(打字稿)

我有这段代码可以扩展我的范围,以便在加载地图时我绘制的所有矢量形状都可见...

angular.forEach(webMapValues.vectorFieldLayer, function (Field, key) 
{
webMapValues.mapObj.addLayer(Field);
webMapValues.extent = Field.getSource().getExtent();
webMapValues.totalExtent = ol.extent.extend(webMapValues.extent, 
webMapValues.totalExtent);
})

在上面的“ol.extent.extend”中为我表演了魔法,而在 OpenLayers 4(打字稿)中我找不到等效的?

非常感谢任何帮助!

【问题讨论】:

    标签: angular typescript openlayers openlayers-3 openlayers-5


    【解决方案1】:

    我相信这个功能还在,只是语法发生了变化:

    import {extend} from 'ol/extent';
    
    const largeExtent = extend(extent1, extent2);
    

    【讨论】:

    • 我很困惑...我没有在 "ol/extent" 中看到 "extend" 所以我再次 npm 安装 "ol" 以查看是否有更新版本...得到“ol@5.3.1”,但我在“ol/extent”中没有“扩展”作为函数。我有“角落”和“关系”吗?关于我应该使用哪个版本的任何想法?
    • 我也很困惑...我刚刚尝试了快速入门指南中的 ol.extent.extend(extend1, extend2) 和 ol 5.3.0,它似乎像预期的那样工作 openlayers.org/en/latest/doc/quickstart.html
    • 好的,我认为这是如何导入的。在 node_modules 中,我有文件夹 ol,在该文件夹下,我有一个名为“extent”的文件夹,还有一个名为“extent.js”的 .js 文件,如果我导入“ol/extent”,它指向该文件夹...不知道如何获取它指向 .js 文件...也许只是添加“.js”?
    • 您是否仍然收到错误,也与导入有关? extend 不再是一种扩展方法,它或多或少是一个独立的函数
    • 我不知道如何使用extent.js文件
    【解决方案2】:

    我正在使用 React、typescript 和 OL4,发现这对我有用

    import extent from 'ol/extent';
    
    const combinedExtent = extent.extend(<layer1>,<layer2>);
    

    【讨论】:

      猜你喜欢
      • 2018-11-27
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 2011-08-27
      • 1970-01-01
      • 2016-05-09
      • 2020-07-11
      相关资源
      最近更新 更多