我有一个函数试图从 json 数组中获取坐标。这让我很难过,所以我希望有人能看到我的错误。
function getCoords($location){
$loc = urlencode($location);
$url = "https://maps.googleapis.com/maps/api/geocode/json?address=$loc&sensor=false";
//echo $url;
//echo file_get_contents($geo_url);
$json_result = json_decode(file_get_contents($url));
$geo_result = $json_result->results[0];
$aCsv = $geo_result->geometry->location;
//see if the it is locating the real address or just apox location, or in most cases a bad address
if($aCsv->location[0] == 200) {
return array('lat'=>(float)$aCsv[2], 'lng'=>(float)$aCsv[3], 'prec'=>(int)$aCsv[1]);
}
var_dump($aCsv);
}
var 转储在下面我需要以这种格式 42.3584308,-71.0597732, 21.3069444, -157.8583333 仅提取 lat 和 lng
object(stdClass)#12 (2) { ["lat"]=> float(42.3584308) ["lng"]=> float(-71.0597732) } object(stdClass)#6 (2) { ["lat"]=> float(21.3069444) ["lng"]=> float(-157.8583333) }
我认为这部分是我遇到问题的地方
if($aCsv->location[0] == 200) {
return array('lat'=>(float)$aCsv[2], 'lng'=>(float)$aCsv[3], 'prec'=>(int)$aCsv[1]);
TIA 史蒂夫
伙计们有没有办法在函数之外访问 JSON 数据?我想获取正在解析的实际地址并在结果计算中显示它。
有时谷歌地图不使用确切的位置,例如,如果我输入 KLAX - Los Angeles airport,如果使用德国的地址,但如果我输入 LAX,它使用的是洛杉矶机场,所以很高兴看到解析后的地址。
我可以回显函数内正在解析的地址,但是当我尝试在函数外使用它时,它是 NULL。再次感谢你的帮助。史蒂夫