gpt4 book ai didi

javascript - 使用开放层打印 SOS 服务的响应

转载 作者:行者123 更新时间:2023-11-28 02:11:33 40 4
gpt4 key购买 nike

我正在尝试学习如何使用 Openlayers 和 SOS(传感器观察服务)服务。我在互联网上找到了几个例子,并研究了算法,但由于我对 Openlayers 库不太熟悉,而且我是 Javascript 的初学者,所以我有一些基本问题。

我研究的例子是这样的:http://ows.terrestris.de/examples/ol-sos-layer.html

在此示例中,他们向服务发出这样的请求(部分代码):

      OpenLayers.SOSClient = OpenLayers.Class({
url: null,
map: null,
capsformat: new OpenLayers.Format.SOSCapabilities(),
obsformat: new OpenLayers.Format.SOSGetObservation(),
initialize: function (options) {
OpenLayers.Util.extend(this, options);
var params = {'service': 'SOS', 'request': 'GetCapabilities'};
var paramString = OpenLayers.Util.getParameterString(params);
url = OpenLayers.Util.urlAppend(this.url, paramString);
**OpenLayers.Request.GET({url: url,
success: this.parseSOSCaps, scope: this});**
} ...

成功后,将执行 parseSOSCaps 函数。该函数解析 XML 响应:

            parseSOSCaps: function(response) {
// cache capabilities for future use
this.SOSCapabilities = this.capsformat.read(response.responseXML || response.responseText);
this.layer = new OpenLayers.Layer.Vector("Stations", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.SOS({
formatOptions: {internalProjection: map.getProjectionObject()},
url: this.url,
fois: this.getFois()
})

最后是 init() 函数,该函数在页面加载时执行。声明了我发送请求的服务的 url:

        function init(){
map = new OpenLayers.Map( 'map' );
var baseLayer = new OpenLayers.Layer.WMS("Test Layer", "http://labs.metacarta.com/wms/vmap0?", {
layers: "basic"}, {singleTile: true});


**var sos = new OpenLayers.SOSClient({map: map, url: 'http://cawa.gfz-potsdam.de:8080/SOS/sos'});**
}

我的问题是,如何打印/显示请求的 XML 响应?有没有办法可以记录并写入响应?或者甚至提醒它?我知道我问的问题听起来很简单,但当我尝试了解 Openlayers 库和 SOS 服务的概念时,我有点迷失了。谢谢。季米特里斯

最佳答案

我发现变量response是一个对象。我可以在 parseSOSCaps() 函数内部使用:

parseSOSCaps: function(response) {
alert(response.toSource());
....
}

以便查看SOS服务的响应。

关于javascript - 使用开放层打印 SOS 服务的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17008926/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com