- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试 OpenLayers3,但在处理 getfeatureinfo 请求时遇到困难。我正在尝试通过 ajax 来完成此操作,并将响应转换为 GML 层,就像在 OpenLayers2 中一样。
我使用的代码如下:
$.ajax({url: GeoServerURL,
data: params,
type: 'POST',
dataType: 'text',
success: function (response) {
console.log('Success!');
var gmlLayer = new ol.format.GML({
featureNS: 'http://www.swansea.gov.uk/',
featurePrefix: 'ccs',
geometryName: 'geom',
extractAttributes: true
});
var results = gmlLayer.writeFeatures(response.responseText);
if (results.length === 0) {
return;
}
}
});
我知道 ajax 给了我正确的响应,在 openlayers 2 中我会使用以下命令:
results = gmlLayer.read(response.responseText);
这是我从 getFeatures 请求返回的内容:
<?xml version="1.0" encoding="UTF-8"?>
<wfs:FeatureCollection
xmlns="http://www.opengis.net/wfs"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:ccs="http://www.swansea.gov.uk"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs http://geoserver:8080/geoserver/schemas/wfs/1.0.0/WFS-basic.xsd http://www.swansea.gov.uk http://geoserver:8080/geoserver/wfs?service=WFS&version=1.0.0&request=DescribeFeatureType&typeName=ccs%3Aadopted_roads">
<gml:boundedBy>
<gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#27700">
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">
270089.11056331,200461.58772218 270347.13150541,200552.92157813
</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<gml:featureMember>
<ccs:adopted_roads fid="adopted_roads.277">
<gml:boundedBy>
<gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#27700">
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">
270089.11056331,200461.58772218 270347.13150541,200552.92157813
</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ccs:map_no>
sn7000
</ccs:map_no>
<ccs:text>
</ccs:text>
<ccs:date_of_adoption>
</ccs:date_of_adoption>
<ccs:photo>
</ccs:photo>
<ccs:gid>
277
</ccs:gid>
<ccs:geom>
<gml:Polygon srsName="http://www.opengis.net/gml/srs/epsg.xml#27700">
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">
270347.13150541,200511.81334524 270345.96895179,200512.03328229 270344.54255622,200511.9333109 270343.33053224,200511.71337386 270340.23863433,200510.91360279 270337.84756661,200509.77392902 270335.37404828,200507.98444126 270330.08896411,200505.44516811 270329.36339874,200504.63539991 270328.26680561,200503.26579195 270325.94169838,200500.78650164 270324.45758738,200499.2369452 270321.40691477,200495.96788096 270313.44218575,200487.21038777 270309.64121258,200483.05157821 270306.49159924,200479.40262271 270301.6682385,200473.55429678 270298.64230107,200470.08528977 270296.72120184,200468.26581059 270292.31833921,200464.00702966 270290.79300291,200462.78737878 270288.72349257,200461.93762202 270286.92606925,200461.58772218 270285.91192673,200461.61771359 270283.74347566,200461.9576163 270283.35595779,200461.99760485 270281.70694557,200462.6874074 270279.65392536,200463.65712981 270261.8610835,200472.52459153 270260.59134409,200473.20439694 270252.4287336,200473.62427675 270252.1319114,200473.42433398 270240.30849378,200473.37434829 270238.22249332,200474.0541537 270237.4227224,200472.15469741 270235.61705402,200472.65455433 270233.5228085,200472.35464018 270228.51805641,200470.55515528 270219.42375401,200475.2538103 270217.21407764,200477.03330093 270211.26938859,200480.25237947 270204.08794037,200486.07071399 270200.89710172,200488.10013308 270194.69681577,200498.39718558 270176.20314372,200513.61283014 270174.00171241,200511.61340247 270157.14056246,200522.86018312 270148.39255263,200528.24864069 270139.18281938,200533.63709826 270137.58327752,200534.7167892 270133.38654142,200536.48628268 270126.42770985,200538.71564454 270118.99066474,200540.70507507 270112.65845782,200541.90473167 270104.19902513,200545.26377016 270101.60183088,200545.26377015 270100.20841555,200545.53369289 270096.01167945,200545.33375012 270089.11056331,200540.91501497 270091.08937798,200550.74220197 270094.14005058,200551.94185857 270103.38276408,200552.32174983 270103.77852701,200552.92157813 270114.67849779,200552.12180706 270123.97892671,200550.02240801 270126.74102218,200549.46256826 270136.7835066,200546.92329512 270143.0579981,200544.7539161 270145.96850466,200543.25434535 270146.9991373,200543.00441689 270154.9061509,200537.10610526 270180.06183232,200520.26092715 270188.10901195,200514.81248675 270216.34834622,200490.5294377 270219.67935091,200488.76994135 270232.79724312,200484.86106025 270236.65593172,200483.41147519 270239.97869134,200481.81193306 270243.35092133,200480.78222781 270246.55000504,200480.28237089 270248.94931782,200479.68254259 270249.74908874,200479.62255976 270256.14725616,200479.58257121 270257.35103508,200479.98245674 270258.95057693,200480.48231365 270261.34988971,200480.78222781 270262.1166804,200480.34235372 270262.79277541,200479.70253686 270265.49715545,200476.98331523 270279.73637597,200469.38549009 270281.70694557,200468.26581059 270283.8836417,200467.41605384 270285.5161638,200466.87620836 270286.57977668,200466.74624557 270287.15693096,200466.68626273 270287.62689944,200466.79623126 270290.91667882,200468.48574764 270291.42787261,200469.14555877 270291.65873432,200469.59543 270292.59867129,200470.68511807 270302.7483415,200481.83192733 270308.78372623,200488.43003864 270313.2195691,200493.2686536 270313.58235179,200493.9984447 270316.66600464,200497.66739448 270319.79912786,200501.39632708 270322.58595851,200504.38547145 270324.6224886,200506.6148333 270328.10190439,200510.40374873 270326.61779339,200514.65253253 270341.45890337,200521.41059806 270347.13150541,200511.81334524
</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</ccs:geom>
</ccs:adopted_roads>
</gml:featureMember>
</wfs:FeatureCollection>
我想做的是读取响应并将其写入弹出窗口,但我希望将响应作为 GML 功能。
最佳答案
这就是请求的格式,以 json 作为返回格式。这在 ol3 中效果很好。
map.on('singleclick', function(evt) {
bounds = map.getView().calculateExtent(map.getSize())
var params = {
request: "GetFeatureInfo",
exceptions: "application/vnd.ogc.se_xml",
bbox: bounds.join(','),
x: parseInt(evt.pixel[0], 10),
y: parseInt(evt.pixel[1], 10),
info_format: 'application/json',
query_layers: getLayers(),
feature_count: 70,
buffer: 5,
srs: 'EPSG:27700',
layers: getLayers(),
styles: '',
width: map.getSize()[0],
height: map.getSize()[1]
};
$.ajax({url: GeoServerURL,
data: params,
type: 'POST',
dataType: 'json',
success: function (response) {
//I couldn't get the response to be read as a GML file so changed it to geoJSON
Results = response;
if (response.features.length === 0) {
return;
}
setPopup(response,evt,0);
}
});
});
关于javascript - 将 ajax 响应转换为 ol3 GML 层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24806006/
有人有 Comet 应用程序 .net 的任何样本吗? 我需要一个示例如何在服务器中保持客户端的连接? 最佳答案 这里也有一些不错的: http://www.frozenmountain.com/we
我想知道是否有 Yii2 专家可以帮助我了解如何最好地使用 ajax 表单与 Yii ajax 验证相结合。我想我可以在不带您阅读我所有代码的情况下解释这个问题。 我正在处理一个促销代码输入表单,用户
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
f:ajax 和 a4j:ajax 标记之间有什么显着差异吗? 我知道 Richfaces 4 中的 a4j:ajax 基于 native f:ajax JSF2 标记,添加了一些 f:ajax 中未
我已经尝试过这样但无法获取数组列表。它返回“null” var data=[]; data[0] = '1'; data[1] = '2'; $.ajax({
在教程中可以看到 jQuery.ajax 和 $.ajax 喜欢这里 http://www.thekludge.com/form-auto-save-with-jquery-serialize/ jQ
过度使用 AJAX 会影响性能吗?在大型 Web 应用程序的上下文中,您如何处理 AJAX 请求以控制异步请求? 最佳答案 过度使用任何东西都会降低性能;在必要时使用 AJAX 将提高性能,特别是如果
似乎我无法使用 Ext.Ajax.request 进行跨域 ajax 调用。看起来 ScriptTag: True 没有任何效果。 这是我的代码: {
我正在使用 Bottle 微框架(但我怀疑我的问题来自它) 首先,如果我定义了一个从/test_redirect 到/x 的简单重定向,它会起作用。所以 Bottle redirect() 在简单的情
任何人都可以指出各种 AJAX 库的统一比较吗?我已经阅读了大约十几种不同的书,我即将开始一个项目,但我对自己是否已经探索了可能性的空间没有信心。 请注意,我不是在要求“我认为 XXX 很棒”——我正
似乎使用 AJAX 的站点和应用程序正在迅速增长。使用 AJAX 的主要原因之一可能是增强用户体验。我担心的是,仅仅因为项目可以使用 AJAX,并不意味着它应该。 可能是为了 UX,AJAX 向站点/
假设我有一个可以通过 Javascript 自定义的“报告”页面。假设我有可以更改的 start_date、end_date 和类型(“简单”或“完整”)。现在 我希望地址栏始终包含当前(自定义) V
我一直在阅读 Ajax 并且希望从 stackoverflow 社区看到我是否正确理解所有内容。 因此,正常的客户端服务器交互是用户在 url 中拉出 Web 浏览器类型,并将 HTTP 请求发送到服
这可能有点牵强,但让我们假设我们需要它以这种方式工作: 我在服务器的 web 根目录中有一个 index.html 文件。该文件中的 javascript 需要向/secure/ajax.php 发出
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 去年关闭。 Improve this
我希望ajax post成功进入主页。由于某种原因,我一直做错事。知道我应该做什么来解决这个问题吗? window.APP_ROOT_URL = ""; Ajax $.ajax({ url: '#{a
我在 2 个不同的函数中有 2 个 ajax 调用。我想用.click来调用这2个函数。 func1 将数据插入数据库,然后 func2 检索数据,所以我的问题是如何等到 func1 完全完成然后只执
我试图在单击按钮后禁用该按钮。我尝试过: $("#ajaxStart").click(function() { $("#ajaxStart").attr("disabled", true);
我试图在每个 Ajax 请求上显示加载动画/微调器 我的 application.js $(document).on("turbolinks:load", function() { window.
我正在显示使用jQplot监视数据的图形。 为了刷新保存该图的div,我每5秒调用一次ajax调用(请参见下面的JavaScript摘录)。 在服务器上,PHP脚本从数据库中检索数据。 成功后,将在5
我是一名优秀的程序员,十分优秀!