typescript - 如何集成 openlayers 3 转换扩展

标签 typescript openlayers-3 angular-openlayers

我正在使用 typescript 开发一个 openlayers 3 项目,因此:

let ol = require("openlayers");

我想使用未在 NPM 上发布的转换扩展插件 (http://viglino.github.io/ol3-ext/interaction/transforminteraction.js)

我尝试了以下方法:

let ol = require("openlayers");
require("<path>/ol/transforminteraction");

但是我得到以下错误:

ERROR TypeError: ol.interaction.Transform is not a constructor

Uncaught ReferenceError: ol is not defined

我如何才能正确地包含/集成此资源?

最佳答案

let ol = require("openlayers");

这意味着 ol 不在全局范围内,因此它不可用于 transforminteraction 扩展。

查看插件代码,您应该可以将其包装在

module.exports = function(ol) {
   ...
}

这会将 ol 放入函数范围。

然后您可以通过传入 ol 作为扩展它的参数来使用它。例如

let ol = require("openlayers");
require("<path>/ol/transforminteraction")(ol);

关于typescript - 如何集成 openlayers 3 转换扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44873474/

相关文章:

typescript - 如何从角度选择的 Material 表中获取检查值

javascript - 如何将 2 个 OpenLayer 标记动画添加到页面? Clickevent似乎被覆盖了

javascript - 在 Angular 中异步加载工厂中的坐标

移动设备上的 OpenLayers 3 dragBox

angular - 如何使用 typescript 在 angular2 应用程序中实现 AAD B2C 功能?

javascript - Ionic 2 可重用页面组件

javascript - 类型 'result' 上不存在属性 'EventTarget'?

javascript - 在 IE8 中使用 OpenLayers 3( Canvas 问题)?

javascript - 无法使用 OpenLayers 3 站点中的 WFS 示例作为基础加载另一个 WFS