首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从WFS/Geoserver获取JSON数据

从WFS/Geoserver获取JSON数据
EN

Stack Overflow用户
提问于 2017-11-26 08:31:43
回答 1查看 2.5K关注 0票数 3

在我的GeoServer中,我很难从WFS获取数据。我希望从WFS返回的JSON中获得特定的属性,并在我的html页面中使用它来填充一个表。我读过大量的帖子和文档,但我似乎无法使它发挥作用。我有:

(a)更改geoserver文件夹中的web.inf文件以启用jsonp

(b)已试用的outputFormat组合(json或text/javascript)

(c)尝试了不同的解析JSON的方法(使用)。或[],JSON.parse或parseJSON等),

(d)使用JSON.stringify测试ajax调用是否正确工作(它可以!)

但是,最终,它总是返回未定义的!

代码语言:javascript
复制
function wfs(longitude, latitude){
    function getJson(data) {
        var myVar1=data['avgtemp1'];
        document.getElementById("v1").innerHTML = myVar;
    }
    var JsonUrl = "http://88.99.13.199:8080/geoserver/agristats/wfs?service=wfs&version=2.0.0&request=GetFeature&typeNames=agristats:beekeeping&cql_filter=INTERSECTS(geom,POINT(" + longitude + " " + latitude + "))&outputFormat=text/javascript&format_options=callback:getJson";
    $.ajax({
        type: 'GET', 
        url: JsonUrl,
        dataType: 'jsonp',
        jsonpCallback:'getJson',
        success: getJson
    });
}
wfs(38, 23);

你能帮帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-26 16:23:11

你离它很近。首先,在您正在编写的变量名(myVar1 vs myVar)中有一个错误。其次,您的函数正在接收Json对象,因此您必须深入研究它的结构。首先是特性,然后是第一个,然后是属性数组,然后是您选择的属性。我建议您在Json对象上读取一个教程,因为您肯定希望遍历属性/项,验证它们不是null等等。

代码语言:javascript
复制
 function getJson(data) {
        var myVar1=data.features[0].properties['avgtemp1'];
        document.getElementById("v1").innerHTML = myVar1;
    }

最后,不要忘记在您喜欢的浏览器中使用调试器。在函数中放置一个断点,检查data的结构和内容。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47494306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档