首页 > 其他 > 详细

收货地址管理,使用腾讯开放平台

时间:2020-02-29 20:26:52      阅读:85      评论:0      收藏:0      [点我收藏+]
/**
 * https://lbs.qq.com/webservice_v1/guide-gcoder.html
 * 获取附近的地址
 */
public function getNearbyAddress()
{
    // 118.275162,33.963008 (宿迁市)
    if (!$lng = $_POST['lng']) { // 经度
        $this->json->E('缺少参数');
    }
    if (!$lat = $_POST['lat']) { // 纬度
        $this->json->E('缺少参数');
    }

    $distance = Func::getDistance($lng, $lat, '118.275162', '33.963008');
    if ($distance > 90) { // 超出范围,按宿迁地址计算
        $lng = '118.275162';
        $lat = '33.963008';
    }

    $page = $_POST['page'] ?: 1;
    //  lng 118.34590148925781
    //  lat 33.95277786254883

    $apiHttp = 'https://apis.map.qq.com/ws/geocoder/v1/?location=' . $lat . ',' . $lng . '&key=' . C('TENCENT_LOCATION_KEY') . '&get_poi=1&poi_options=address_format=short;radius=10000;page_size=40;page_index=' . $page . ';policy=1';
    $result  = Http::doGet($apiHttp);
    $result  = json_decode($result, true);

    if ($result['status'] === 0) {
        $this->json->S($result['result']);
    } else {
        $this->json->E('获取失败');
    }
}


/**
 * 获取搜索的地址
 */
public function getSearchAddress()
{
    // 118.275162,33.963008 (宿迁市)
    if (!$lng = $_POST['lng']) { // 经度
        $this->json->E('缺少参数');
    }
    if (!$lat = $_POST['lat']) { // 纬度
        $this->json->E('缺少参数');
    }

    $distance = Func::getDistance($lng, $lat, '118.275162', '33.963008');
    if ($distance > 90) { // 超出范围,按宿迁地址计算
        $lng = '118.275162';
        $lat = '33.963008';
    }

    if (!$keywords = $_POST['keywords']) { // 关键字
        $this->json->E('请输入关键字');
    }

    $page = $_POST['page'] ?: 1;
    //  lng 118.34590148925781
    //  lat 33.95277786254883

    $apiHttp = 'https://apis.map.qq.com/ws/place/v1/search?boundary=nearby(' . $lat . ',' . $lng . ',10000)&keyword=' . $keywords . '&page_size=40&page_index=' . $page . '&orderby=_distance&key=' . C('TENCENT_LOCATION_KEY');

    $result = Http::doGet($apiHttp);
    $result = json_decode($result, true);

    if ($result['status'] === 0) {
        $this->json->S($result['data']);
    } else {
        $this->json->E('获取失败');
    }
}

/**
 * 根据坐标获取城市
 */
public function getCityByCoord() {
    if (!$lng = $_POST['lng']) { // 经度
        $this->json->E('缺少参数');
    }
    if (!$lat = $_POST['lat']) { // 纬度
        $this->json->E('缺少参数');
    }

    $apiHttp = 'https://apis.map.qq.com/ws/geocoder/v1/?location=' . $lat . ',' . $lng . '&key='.C('TENCENT_LOCATION_KEY').'&get_poi=0';

    $result = Http::doGet($apiHttp);
    $result = json_decode($result, true);


    if ($result['status'] === 0) {
        $city = $result['result']['address_component']['city'];
        $this->json->S($city);
    } else {
        $this->json->E('获取失败');
    }
}

收货地址管理,使用腾讯开放平台

原文:https://www.cnblogs.com/jiqing9006/p/12384645.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!