簡體   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