繁体   English   中英

Typescript中的Openlayers JavaScript库

[英]Openlayers javascript library in typescript

我们正在使用打字稿进行项目。 这是第一个带有打字稿的项目。 在这个项目中,我们需要连接到WFS服务器,这会将GML返回给我们。 现在解析GML,我们考虑使用OpenLayers javascript库。 我知道有Openlayers的DefinitelyTyped版本,但是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实例时,该错误开始。

有任何想法吗?

谢谢!

OpenLayers未定义。

尝试从打字稿中使用OpenLayers 之前,请确保其中已包含OpenLayers(例如,使用脚本标签)

与错误无关,但已注意到

您实际上在这里返回的是undefined (因为retour在返回之前未分配)。

       .done(function (data) {
            var format = new OpenLayers.Format.GML();
                  retour = format.read(data);
            });

        return retour;

您应该退还诺言 .done函数的返回值,或者具有回调。 它需要一直保持异步状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM