百度地图定位接口

1 申请百度账号
2 全球逆地理编码API文档
参考链接:
http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad
请求URL:
http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=35.658651,139.745415&output=json&pois=1&ak=您的ak
请求方式:GET
这里写图片描述
3 代码

//180602百度地图定位(根据经纬度返回城市名称)
    public function getGetLocation($data){
        global $_W;
        $language = tools::getLanguageOrder();//获取语言 0:chinese 1:english 2 Malaysian
        $ak='3avLm2YMGbTFW0yvOo0ZoTUWHpdSHHo0';
        load()->model('cloud');
        $latitude=$data['latitude'];
        $longitude=$data['longitude'];
        $arr=array($latitude,$longitude);
        $location=implode(',',$arr);
        $cityname=baidu_location($location,$ak);
        if (is_error($cityname)) {
            respon::custom(-1,'经纬度错误,定位失败!');
        }
        if($language==0){
            $whereSql="WHERE `level`=:level AND `uniacid`=:uniacid AND `cantonname` LIKE '%$cityname%'";
            $sql="SELECT cantonvalue,cantonname FROM".tablename("zgmart_areas");
        }elseif($language==1){
            $whereSql="WHERE `level`=:level AND `uniacid`=:uniacid AND `cantonname_en` LIKE '%$cityname%'";
            $sql="SELECT cantonvalue,cantonname_en FROM".tablename("zgmart_areas");
        }else{
            $whereSql="WHERE `level`=:level AND `uniacid`=:uniacid AND `cantonname_ma` LIKE '%$cityname%'";
            $sql="SELECT cantonvalue,cantonname_ma FROM".tablename("zgmart_areas");
        }
        $sql .=$whereSql;
        $results=pdo_fetch($sql,array(':level'=>2,':uniacid'=>$_W['uniacid']));
        if($results){
            respon::success($results);
        }
    }
//百度地图定位
function baidu_location($location,$ak){
    $locationUrl='http://api.map.baidu.com/geocoder/v2/?output=json&location=%s&ak=%s';
    load()->func('communication');
    $res=ihttp_request(sprintf($locationUrl,$location,$ak));
    $resConteng=@json_decode($res['content'],true);
    if($resConteng['status']!=0){
        return error(-1, '经纬度错误,定位失败!');
    }
    return $resConteng['result']['addressComponent']['city'];

}

4 请求示例
前端请求示例:

请求URL:
https://ch-zgmart.wshoto.com/members/getLocation?access_token=f6c361e27df891c062ac937fdd4defbc&latitude=5.7388715&longitude=116.1805417&sessionkey=a10327f5520e7b8ff61180494cf6fa5c&timestamp=1527927551&sign=5f7d343bcaacdc79fea62044249ac735&lang=Malaysian
请求方式:get
请求参数:latitude:纬度
Longitude:经度
Lang:语言(chinese english malaysian)
返回结果:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/helenxd/article/details/80712804