gpt4 book ai didi

php - 使用 PHP 和 MySQL 处理空间数据时出现的问题

转载 作者:行者123 更新时间:2023-11-30 00:11:12 25 4
gpt4 key购买 nike

我正在尝试从某个点的地址获取该点的纬度和经度。当我只使用一个点时,一切都工作正常,但当我在循环中使用它并尝试将它用于多个点时,事情会变得丑陋。

我的代码如下所示:

<?php
$con = mysql_connect("localhost", "root", "");
mysql_select_db("ppialakm_db", $con);
function get_latlong($address){
$prepAddr = str_replace(' ','+',$address);

$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false');

$output= json_decode($geocode);

$lat = $output->results[0]->geometry->location->lat;
$long = $output->results[0]->geometry->location->lng;

return array("latitude"=> $lat, "longitude"=> $long);
}
$queryyyy = mysql_query("SELECT broker_property_id, sector, locality, city FROM property_requirement");
while($array = mysql_fetch_assoc($queryyyy)){
$address = $array['sector'].",".$array['locality'].",".$array['city'].",Maharashtra";
$ahfaho = get_latlong($address);
$latlong = "POINT(".$ahfaho['latitude']." ".$ahfaho['longitude'].")";

$query = mysql_query("UPDATE property_requirement SET latlong=GeomFromText('".$latlong."') WHERE broker_property_id='".$array['broker_property_id']."'");
//echo $array['broker_property_id'].'<br/>';
}
echo "Success."
?>

问题是,在我运行此脚本后,许多 latlong 字段仍然为空,并且也是随机顺序的。我无法解决这个问题。谁能帮我吗?我使用的是MySQL 5.5

最佳答案

这可能有助于验证您从地理编码中返回的内容:

function get_latlong($address){
$prepAddr = str_replace(' ','+',$address);

$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false');

$output= json_decode($geocode);

if ( 'OK' == $output->status ) {
$lat = $output->results[0]->geometry->location->lat;
$long = $output->results[0]->geometry->location->lng;

return array("latitude"=> $lat, "longitude"=> $long);
}
else { return false; }
}

还有:

if ( $ahfaho = get_latlong($address) ) {
$latlong = "POINT(".$ahfaho['latitude']." ".$ahfaho['longitude'].")";

$query = mysql_query("UPDATE property_requirement SET latlong=GeomFromText('".$latlong."') WHERE broker_property_id='".$array['broker_property_id']."'");
}
else { echo "Failed geocode."; }

关于php - 使用 PHP 和 MySQL 处理空间数据时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24038053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com