php根据用户地址获取经纬度

记录:利用高德地图API,根据用户地址获取经纬度

API文档:
https://lbs.amap.com/api/webservice/guide/api/georegeo

调用API代码

<?php
/**
 * 服务器接口类
 */
namespace queryAreaInfo;

class queryArea{
	// 根据详细地址获取经纬度
    public function getLatLngByAddress($address){
        //高德地图的api接口,根据详细地址获取经纬度
        $regeo_url="https://restapi.amap.com/v3/geocode/geo";
        $key="web服务类型Key";
        $address_location=$regeo_url."?output=JSON&address=$address&key=$key";
        $data_location=file_get_contents($address_location);
        $result_local=json_decode($data_location,true);
        
        //返回数据状态1 为成功 0 为失败
        $local_status=$result_local['status'];
        //返回状态码 10000 为正确 其他为错误
        $local_infocode=$result_local['infocode'];
        // return $result_local;
        if($local_status==1 && $local_infocode== 10000 ){
            //地址信息的数组
            $local_geocode=$result_local['geocodes'];
            $location=$local_geocode[0]['location'];
            $location_ay=explode(",",$location);
            return [
                'status'=>1,
                'data'=>[
                    'longitude'=>$location_ay[0],
                    'latitude'=>$location_ay[1],
                ]
            ];
        }else{
            return ['status'=>0, 'msg'=>'地图API调用失败'];
        }
    }

}
use queryAreaInfo\queryArea;
    public function getAboutAfterSale()
    { 
        //高德地图的api接口,根据详细地址获取 经纬度
        $address="河南";
        $queryArea=new queryArea();
        $result=$queryArea->getLatLngByAddress($address);
        echo '<pre>';print_r($result);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值