【发布时间】:2014-06-23 09:16:12
【问题描述】:
我们正在使用打字稿进行项目。这是第一个带有打字稿的项目。 在这个项目中,我们需要连接到 WFS 服务器,这会将 GML 返回给我们。现在要解析 GML,我们考虑使用 OpenLayers javascript 库。我知道Openlayers 有DefiniteTyped 版本,但是GML 解析还没有准备好。
所以我们尝试了 javascript 文件。但我认为我们遗漏了一些东西,因为我们得到了一个错误:Openlayers 是未定义的。
这是我们的代码:
module PP.Data {
declare var OpenLayers: any;
export class WebRequest {
public GetGML(url: string): XMLDocument {
var retour: XMLDocument;
var _this = this;
$.ajax({
url: url,
type: 'GET',
crossDomain: true,
cache: false,
async: false,
dataType: 'xml'
}).done(function (data) {
var format = new OpenLayers.Format.GML();
retour = format.read(data);
});
return retour;
}
}
}
因此,当我们尝试创建 GML 实例时,错误就开始了。
有什么想法吗?
谢谢!
【问题讨论】:
-
我对 typescript 了解不多,但是您不应该在 GetGML done 函数中将 OpenLayers 称为任何内容吗,就像您在外面声明的那样?
-
Typescript 显示错误。
-
大概是的。这将与上下文、this 等有关,但我对 typescript 的调试了解不足。行 var format = new OpenLayers.Format.GML();自己肯定没问题。
标签: javascript typescript openlayers