我正在使用 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/