完善fastadmin的获取地理位置功能

本文主要介绍了在使用Fastadmin框架开发项目时遇到的获取地理位置功能的问题及解决方法。首先,由于area表为空导致citydata获取不到,通过安装开发示例插件填充数据。其次,即便安装后,获取到的地址始终显示为北京,原因是Fastadmin利用redis的geo功能,但未提供添加省市区信息的方法。解决方案是在获取位置前检查并录入redis的geo信息,并在`getAreaFromLngLat`方法中进行相应调整。
摘要由CSDN通过智能技术生成

最近做的一个项目使用了fastadmin,其中的api接口中自带获取地理位置方法,位于application/api/controller/Common/init

/**
 * 加载初始化
 *
 * @param string $version 版本号
 * @param string $lng     经度
 * @param string $lat     纬度
 */
public function init()
{
   
    if ($version = $this->request->request('version')) {
   
        $lng = $this->request->request('lng');
        $lat = $this->request->request('lat');
        $content = [
            'citydata'    => Area::getCityFromLngLat($lng, $lat),
            'versiondata' => Version::check($version),
            'uploaddata'  => Config::get('upload'),
            'coverdata'   => Config::get("cover"),
        ];
        $this->success('', $content);
    } else {
   
        $this->error(__('Invalid parameters'));
    }
}

其中Area::getCityFromLngLat($lng, $lat)就是获取城市信息。

问题1

citydata为空,发现area表为空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值