Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 谷歌地图地理编码包括房屋名称_Php_Google Maps - Fatal编程技术网

Php 谷歌地图地理编码包括房屋名称

Php 谷歌地图地理编码包括房屋名称,php,google-maps,Php,Google Maps,使用下面运行良好的代码: function geocode($address){ $return = array(); $address = urlencode($address); $key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; $url = "https://maps.google.com/maps/api/geocode/json?key=$key&address={$address}"; if (

使用下面运行良好的代码:

function geocode($address){
    $return = array();
    $address = urlencode($address);
    $key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    $url = "https://maps.google.com/maps/api/geocode/json?key=$key&address={$address}";


    if (!function_exists("\curl_init")){
        \load_curl();
    }
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_TIMEOUT,6000);
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
    $resp_json = \curl_exec($ch);
    curl_close($ch);


    $resp = json_decode($resp_json, true);
    if($resp['status']!=='OK') return false;

    foreach($resp['results'] as $res){
        $loc = array(
            "zipcode"=>null,
            "formatted"=>null
        );
        foreach($res['address_components'] as $comp){
            if(in_array("postal_code", $comp['types'])) 
                $loc['zipcode'] = $comp['short_name'];
        }
        $loc['formatted'] = $res['formatted_address'];
        $loc['lng'] = $res['geometry']['location']['lng'];
        $loc['lat'] = $res['geometry']['location']['lat'];
        $return[] = $loc;
    }
    return $resp;
}
但是,当我搜索地址时,如“ZOOM DIGITAL PRINT UNIT 36 BINLEY IND EST HOTCHKISS WAY COVENTRY CV3 2RL”,格式化后的地址返回为“Starley Court,HOTCHKISS WAY,COVENTRY CV3 2RL,UK”

是否有方法获取此请求中包含的业务名称,或者其他API是否可以找到该名称

用于将地址转换为lat/lng坐标,反之亦然,或用于查找给定位置ID的地址

要获取业务信息,您应该使用。例如,尝试在谷歌的自动完成中搜索“Zoom Digital Print Ltd”,你会得到这个企业名称


希望这有帮助

地理编码器用于对地址进行地理编码。Places API用于检索地点或业务信息。我建议您阅读文档。