我正在尝试创建一个 ajax 函数,在该函数中我使用表单将 bbox 值传递给 PHP 脚本,然后使用 bbox 参数将 FeatureCollection 输出回 ajax 回调。
从这里我使用 JSON.parse() ,然后尝试将每个特征的描述部分显示为对应点上的弹出窗口。
我花了无数个小时试图找出我的代码出了什么问题,但我似乎无法解决。
这是我的表单 HTML:
<select name="bbox" id="bbox" onchange="ajaxrequest()">
<option name="Select" value="Select">Please Select</option>
<option name="Hampshire" value="-1.40,50,-1.39,51&format=geojson">Hampshire</option>
</select>
这是我的 AJAX 函数:
function ajaxrequest()
{
var bbox = document.getElementById("bbox").value;
//alert(bbox);
var request = new Ajax().sendRequest
('points.php',
{ method: 'GET',
parameters: 'bbox=' + bbox,
callback: resultsReturned }
);
}
这是 AJAX 回调,其中包含响应文本中的特征集合 geoJSON:
function resultsReturned (xmlHTTP)
{
//alert(xmlHTTP.responseText);
var geojson = JSON.parse(xmlHTTP.responseText);
for(var i=0; i<geojson.features.length; i++)
{
var layer = new L.geojson();
layer.addData(geojson.features[i]);
}
}
如果有人能告诉我如何完成这件事,我将不胜感激,因为它正在杀死我。
提前致谢。