接入百度地图api

以thinkphp5为例

一、获取ak

  1. 点击登录 百度开发者平台注册并登录账号。
    在这里插入图片描述
  2. 点击 控制台 ,再点击左侧 应用管理 下的我的应用,再点击 创建应用
    在这里插入图片描述
  3. 填写 创建应用的内容
    在这里插入图片描述
    通过以上步骤后,我们就能获得所需的ak了。

二、编写代码

参考资料:https://blog.youkuaiyun.com/zhangzeshan/article/details/93594602

文档所在地址:http://api.map.baidu.com/lbsapi/cloud/geocoding-api.htm#.E6.8E.A5.E5.8F.A3.E7.A4.BA.E4.BE.8B

  1. 在tp5框架的 扩展类库目录extend/ 中创建Map.php。
    在这里插入图片描述
  2. 编写内容
<?php
class Map{
    //可以获取经纬度
    public static function getLngLat($address){
//   百度地图地理编码API     "http://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation
        if(!$address){
            return '';
        }
        $data = [
            'address'=>$address,
            'ak'=>config('map.ak'),
            'output'=>'json',
        ];
        $url=config('map.baidu_map_url').config('map.geocoding').'?'.http_build_query($data);
        //$res = file_get_contents($url); 通过这个方法也能读取url的内容
        return  $res=doCurl($url);
    }

    /**
     * 根据经纬度或者地址获取地图
     */
    public static function staticImage($center){
        if(!$center){
            return '';
        }
        $data = [
            'ak'=>config('map.ak'),  //利用config从配置文件中读取 ak
            'center' =>$center,
            'width'=>config('map.width'),
            'height' =>config('map.height'),
            'zoom' =>11,
            'markers'=>$center,
            'scale' => 1,
        ];
        $url=config('map.baidu_map_url').config('map.staticimage').'?'.http_build_query($data);
        //$res = file_get_contents($url); 通过这个方法也能读取url的内容
        return   $res=doCurl($url);
        //return $url;
    }
}

相关参数的 意义 请参考百度开发平台提供的 开发文档

  1. 在模块公共函数文件application/common.php中编写函数doCurl()
    在这里插入图片描述
function doCurl($url,$type=0,$data=[])
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    if ($type == 1) {
        curl_setopt($ch, CURLOPT_PORT, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    //执行并获取内容
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}
  1. 在配置文件中新建map.php,编写需要的参数。注意:把ak的值换成自己的
    在这里插入图片描述

三、测试

  1. 百度地图开发者平台打开此选项。
    在这里插入图片描述
    在这里插入图片描述
  2. 复制提供的示例html代码到自己的html文件中。
    在这里插入图片描述
  3. 在html代码的body中新增以下两部分
    在这里插入图片描述
    在这里插入图片描述
  4. 修改地点名称,即可显示相对应的地图位置了。
    在这里插入图片描述在这里插入图片描述
  5. 使用Map.php中的第二个方法
    在这里插入图片描述

html代码部分新增,用于显示图片

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值