![](/img/trans.png)
[英]Geocoding with osm map, javascript code and OpenLayers library
[英]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.