IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 使用高德地图获得经纬度坐标 -> 正文阅读

[PHP知识库]使用高德地图获得经纬度坐标

一. 创建config配置

gaode.php

return [
    'geocode' => 'https://restapi.amap.com/v3/geocode/geo?key=你的key&address=%s&city=%s'
];

二. 安装Guzzle-http插件

Guzzle-http:?Guzzle, PHP HTTP 客户端 — Guzzle中文文档

composer require guzzlehttp/guzzle

三. 创建自定义函数

在app目录下创建common.php

// 通过高德接口获得经纬度
function coordinate($addr, $city)
{
    $client = new \GuzzleHttp\Client();
    $url = config('gaode.geocode');
    $url = sprintf($url, $addr, $city);
    $res = $client->request('GET', $url);
    $body = (string)$res->getBody();
    $arr = json_decode($body, true);
    if (count($arr['geocodes']) > 0) {
        $locationArr = explode(',', $arr['geocodes'][0]['location']);
        return ['longitude' => $locationArr[0], 'latitude' => $locationArr[1]];
    }
}

三.1 自定义函数的引入

修改?composer.json?文件

在?autoload?部分添加?files?字段加入以下内容即可:

{
    ......
    "autoload":{
        ...
        "files":[
            "app/common.php"
        ]
    }
    ...
}

?

终端运行:

composer dump-autoload

成之后你就可以在你项目的任何地方使用?app/common?里的函数了

四. 引入函数

四.1 创建路由

// 测试 
Route::get('fang/coordinate', 'FangController@coordinate')->name('fang.coordinate');

四.2 创建控制器方法, 方法中引用函数

public function coordinate() 
{ 
    $addr = '北京市朝阳区阜通东大街6号'; 
    $city = '北京'; 
    $res = coordinate($addr, $city); 
    dd($res); 
}

四.3 测试结果

?

四.4 可能出现的错误处理

cURL error 60: SSL certificate problem: unable to get local issuer certificate 解决思路

访问https://curl.haxx.se/docs/caextract.html,下载cacert.pem,并在php.ini文件添加

curl.cainfo="D:/wamp/bin/php/php7.0.10/extras/ssl/cacert.pem"

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 13:39:24  更:2022-01-01 13:40:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:47:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码