php 如何根据地址 获取经纬度

22 篇文章 0 订阅
5 篇文章 0 订阅
 

 

第一种:腾讯地图api,量大需要付费(推荐使用):

public function getLatByTencentMap(){
        $address = "杭州市西湖国际科技大厦";
        $url='http://apis.map.qq.com/ws/geocoder/v1/?address='.$address.'&key=免费的自己申请';
        $result=file_get_contents($url);
        $data = json_decode($result,TRUE);
        print_r($data);
    }

说明:上面URL中的key要自己申请,免费的,本人是去腾讯地图申请的

返回结果:

附:key的申请方法

然后如下:

第二种:(官方的):

    使用流程:直接 复制下面方法到项目文件中,只需要传个地址参数,其他代码不用动 。

 

/**
     * 搜索地址,查询周边的位置  ()
     */
    public function query_address($key_words){
        $header[] = 'Referer: http://lbs.qq.com/webservice_v1/guide-suggestion.html';
        $header[] = 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36';
        $url ="http://apis.map.qq.com/ws/place/v1/suggestion/?&region=&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77&keyword=".$key_words; 

        $ch = curl_init();
        //设置选项,包括URL
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);

        //执行并获取HTML文档内容
        $output = curl_exec($ch);
         // print_r($output);die;
        //释放curl句柄
        curl_close($ch);
        // return $output;
        $result = json_decode($output,true);
         // print_r($result);
        // $res = $result['data'][0];
        return $result;
         //echo json_encode(['error_code'=>'SUCCESS','reason'=>'查询成功','result'=>$result);
    }

 

示例:

 

返回值:有很多与参数地址相近的经纬度(一般默认取第一条数据,也就是下标是0的那条经纬度)

if(!empty($result['data'][0])){
                        $address = $result['data'][0];
                        // var_dump($result) ;
                        sleep(0.5);
                       //print_r($address);
                       $lat2 = $address['location']['lat'];
                       $lng2 = $address['location']['lng'];
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值