我正在建立一个WebGIS网站,我遇到了一些问题。首先,我有一个HTML文件,我在其中使用LeafLet地图可视化工具。每次用户在地图上"平移"时,地图的边界都应该发送到PHP文件,在那里我从Postgresql-PostGIS数据库服务器查询新信息,然后从中生成XML文件。完成此过程后,我想使用 XML 文件通过 Leaflet 可视化 HTML 文件上的数据。因此,我想知道在这种情况下您会建议我采取什么样的策略。
到目前为止,我已经成功地完成了以下事情:
-
我有一个索引.html文件,我在其中放置了传单地图。使用一些传单功能,我可以获取边界框的数据,所以我唯一需要的是将其发送到名为dbAccessAndXmlGenerator的PHP文件.php。我应该在这里使用 AJAX 吗?
-
在项目开始时,我成功地实现了从XML文件中获取数据并将其可视化在地图上。我使用了这个实现:
$(document).ready(function() { $.ajax({ type: "GET", url: "xmlRes.xml", dataType: "xml", success: parseXml });
然后有一个parseXML javascript函数,我可以在其中使用xml文件中的数据:
function parseXml(xml){...}
- dbAccessAndXmlGenerator.php中的查询和 xml 生成工作正常。
在html文件中有一个名为onMapChange(e)的javascript函数,当用户在地图上平移或移动时,它可以生成地图边界框的数据。所以我的任务是将这些变量发送到PHP文件,在那里我将使用这些变量进行查询,然后PHP文件将生成一个XML,该XML将再次被HTML和javascript使用。
我希望我是可以理解的。我仍然是同时使用所有这些语言的初学者,所以很抱歉。提前感谢!
愿你安好
丹尼尔
您所需要的只是:
$.ajax({
type: "POST",
url: "some_script.php",
data: { "parameter1" : 1, "parameter2" : 2 },
dataType: "xml",
success: parseXml
});
在some_script.php
:
$parameter1 = $_POST['parameter1'];
$parameter2 = $_POST['parameter2'];
...
// generate XML and echo it
无需更改parseXml()
功能,即可正常工作