多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
> **先看一下位置消息的发送场景** ![](https://box.kancloud.cn/2016-01-05_568b848d1b46f.png) > **默认情况下位置消息是不会进行处理的,直接调用机器人聊天插件或者多客服插件给用户回复消息。** #### 豆信封装了location()钩子可以对用户发送的位置消息进行处理。 > **先贴代码,代码位置:/Addons/Example/Model/WeixinAddonModel.class.php** ~~~ // 用户发送位置消息处理钩子 public function location($data){ replyText("你发的位置所处的\n经度为:".$data['Location_Y']."\n纬度为:".$data['Location_X']."\n位置名为:".$data['Label']); } ~~~ > **再看效果** ![](https://box.kancloud.cn/2016-01-05_568b848db4cb7.png) > **代码解析** ##### 从效果图我们可以看出,当用户发送位置消息时,豆信会把位置消息分发到location()钩子进行处理,传递的$data参数数组包含用户发送的位置数据,可以用replyText(json_encode($data))调试输出$data数组。 > **总结** ##### 本篇简要介绍了location()钩子对位置消息的处理,开发者可以结合实际需求来使用location()钩子,在LBS相关的功能中,这个钩子能够起到很大的作用,欢迎大家在讨论区分享利用此钩子的开发实例。