我完全被这个问题困住了。它可能很简单,我没有看到它。
我有一个网站正在我需要搜索外部网站(目前只有一个),基于JSON查询字符串的文件,并能够从页面上的查询返回搜索结果(基本上是迷你搜索引擎)。
我需要连接的示例(我收到的电子邮件):
http://EXAMPLEDOMAIN.com/api/start_parcels_txn?client=t3vDwH&spatial_intersect= [wkt_geometry]
其中[wkt_geometry]是url编码的OGC着名文本点或多边形几何。空间参考系统是Google和Bing使用的球形墨卡托:EPSG 3785/3857 / 900913。
服务器响应是一个JSON编码的对象,在成功的情况下看起来像: {" status":" ok"," parcel_count":[匹配包裹的数量]," txn_id":" [交易id string]"}
或在失败的情况下: {" status":"错误"," error_message":" [错误消息字符串]"}
例如,要在位于美国亚利桑那州伯明翰1400 University Blvd的地块中的坐标(-9663031.13,3962292.03)处执行点查询,形成一个点串:
要点(-9663031.13,3962292.03)
然后将其编码并传递给" spatial_intersect"值: http://EXAMPLEDOMAIN.com/api/start_parcels_txn?client=t3vDwH&spatial_intersect=POINT(-9663031.13%203962292.03)
来自服务器的响应是: {"状态":" OK"" parcel_count":1," txn_id":" sADaOswk3DlfvCLDEFWu7p3Sv"}
要执行与前一个宗地和另外两个宗教相交的矩形查询,使用矩形的左下角坐标:( - 9663128.4741915,3962254.4093738)和右上角坐标:( - 9663033.5250705,3962386.9798447)形成一个多边形串: POLYGON(( - 9663128.4741915 3962254.4093738,-9663128.4741915 3962386.9798447,-9663033.5250705 3962386.9798447,-9663033.5250705 3962254.4093738,-9663128.4741915 3962254.4093738))
然后对其进行urlencode并传递为" spatial_intersect"值: http://EXAMPLEDOMAIN.com/api/start_parcels_txn?client=t3vDwH&spatial_intersect=POLYGON((-9663128.4741915%203962254.4093738,-9663128.4741915%203962386.9798447,-9663033.5250705%203962386.9798447,-9663033.5250705%203962254.4093738,-9663128.4741915%203962254.4093738)) 服务器的响应是: {"状态":" OK"" parcel_count":3," txn_id":" 9skFh7PNdZYJgXyAgDnRXrIWJ"}
我希望能够拥有带有HTML表单的用户输入字段(如邮政编码,地址等),然后我希望能够在类似于上面示例的外部网站上进行搜索,并显示结果在同一页面。我在找到解决这个问题的在线资源时遇到了麻烦,而且我不是一个程序员(更多的是系统管理员)所以我有点被困在这里。我可以理解代码,但不知道如何实现它。
这可以通过Javascript,HTML,PHP完成,但这并不重要我想要解决这个问题很简单,如果它存在,可能会有一个例子。如果有人对此有任何见解,我们将不胜感激!
答案 0 :(得分:0)
这是我到目前为止的代码(可在http://s31tech.com/json访问)。我知道我还有很长的路要走,如果你为空间相交字段输入 POINT(-9663031.13%203962292.03),你会发现一个有效的答案:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF;?>">
Address:<input type="text" name="address">
Spatial Intersect: <input type="text" name="intersect">
<input type="submit">
</form>
<br />
Address entered was: <?php echo $_POST["address"]; ?>
<br />
Spatial Intersect Coordinates: <?php echo $_POST["intersect"]; ?>
<br />
<br />
<?php
$url = "http://reportallusa.com/api/start_parcels_txn?client=t3vDwH&";
$spatial_intersect = "spatial_intersect=";
//$coordinates = "POINT(-9663031.13%203962292.03)";
$coordinates = $_POST["intersect"];;
$JSON = file_get_contents($url.$spatial_intersect.$coordinates);
// echo the JSON (you can echo this to JavaScript to use it there)
echo $JSON;
// You can decode it to process it in PHP
$data = json_decode($JSON, true);
var_dump($data);
?>
<br />
URL Path: <br />
<?php echo $JSON; ?>
</body>
</html>