php 如何根据地址 获取经纬度 来计算距离

第一种:(官方的):

    使用流程:直接 复制下面方法到项目文件中,只需要改一下两块,其他代码不用动 。

        ①需要修改$key_words的接收方法(POST接收传来的地址参数;)

        ②需要修改最后return的数据类型

/**
     * 搜索地址,查询周边的位置  ()
     */
    public function query_address(){
        $key_words = input('post.key_words/s','杭州');// 接收key_words地址参数(这是TP5写法)
        // 
        $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);
        //释放curl句柄
        curl_close($ch);
        // return $output;
        return ['error_code'=>'SUCCESS','reason'=>'查询成功','result'=>json_decode($output,true)];
    }

第二种(经不起较大的访问量):

function (){      $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的申请方法


然后如下:



阅读更多
个人分类: PHP
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

php 如何根据地址 获取经纬度 来计算距离

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭