百度地图API和图灵机器人API

在接收普通消息地理位置消息location时,先设置好我们要接收一下经度和维度

//定义$longitude与$latitude接收用户发送的经纬度消息

                $latitude = $postObj->Location_X;

                $longitude = $postObj->Location_Y;

之后定义好回复的类型为text,回复内容为文本消息,如

$msgType="text";//回复类型

$contentStr="你发送的是地理信息"; //回复内容

接着,可以在根服务器下创建一个dt.php文件,打开,编写

//定义接口请求地址

$url = "http://api.map.baidu.com/telematics/v3/reverseGeocoding?location={$longitude},{$latitude}&coord_type=gcj02&output=json&ak=UKw0fMoMhVgh6ZKiK5BEnZU3EflOEc87";

//模拟http中的get请求

$str = file_get_contents($url);

//转换json格式数据为数组或对象

$json=json_decode($str);

dump($json);

其中,http://api.map.baidu.com/telematics/v3/reverseGeocoding?location={$longitude},{$latitude}&coord_type=gcj02&output=json&ak=UKw0fMoMhVgh6ZKiK5BEnZU3EflOEc87为接口API url地址,并模拟get请求的方式去请求这个地址,返回的是一个json数据,这里在地址中已经通过output=json参数设置好,默认是xml数据,最后,将返回的信息进行格式化,其中,json_decode($str);返回的是一个对象,后面加个参数,json_decode($str,true);,为true的话返回的是一个数组。然后可通过dump();函数来打印下结果,效果可通过localhost//dt.php来查看。location={$longitude},{$latitude},2个是经度,维度,这个是我们在初始化地图消息的时候就已经接收到的值。

查看出结果后就证明API接口是通的,之后,把它放到要回复的设置中,并在回复内容中调出{{$json->description}信息,如下图所示

elseif($msgType=="location"){

   //回复类型

                  $msgType="text";

   //定义接口请求地址

$url = "http://api.map.baidu.com/telematics/v3/reverseGeocoding?location={$longitude},{$latitude}&coord_type=gcj02&output=json&ak=UKw0fMoMhVgh6ZKiK5BEnZU3EflOEc87";

//模拟http中的get请求

$str = file_get_contents($url);

//转换json格式数据为数组或对象

$json=json_decode($str);

                  //回复内容

                  $contentStr="你发送的是地理信息,你的位置:{$json->description}";

                  //格式化字符串

                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

                    //返回XML数据给手机端

                    echo $resultStr; 

              }

至此,地图API接口已完成

说明:这里的百度地图API,我是用的百度的车联网API,链接地址:http://lbsyun.baidu.com/index.php?title=car/guide/introduction

进去之后,可找到接口说明下的反Geocoding,


其中,URL中AK由上面的获取密钥可得

点开后,创建个应用就行,因为我做的是公众号,所以,这里我创建

的应用类别为小程序


图灵机器人和这个类似,其中,API接口我用的是v1.0版本,url为

http://www.tuling123.com/openapi/api?key=你的密钥&info=你要发送的消息

其中,你要发送的消息可用{$keyword}来替换,意为用户输入的关键字,key的话去官网申请一下

http://www.tuling123.com,注册后登陆,创建个机器人,就会获得自己的一个key。

你可能感兴趣的:(百度地图API和图灵机器人API)