首页 > 代码库 > 微信公众平台接口教程:获取用户发送的地理位置xml

微信公众平台接口教程:获取用户发送的地理位置xml

微信公众平台接口获取用户发送的地理位置xml

实现的功能就是,当用户向我的公众平台发送一个当前位置,我要在卫星API中获取这个位置的经度纬度(x,y)然后通过这个经纬度接百度地图接口查询这个位置附近的饭店有哪些。

说白了,就是食神摇摇的那个功能。先贴上,用户向公众平台发送的位置的xml

 1 <xml> 2 <ToUserName><![CDATA[toUser]]></ToUserName> 3 <FromUserName><![CDATA[fromUser]]></FromUserName> 4 <CreateTime>1351776360</CreateTime> 5 <MsgType><![CDATA[location]]></MsgType> 6 <Location_X>23.134521</Location_X> 7 <Location_Y>113.358803</Location_Y> 8 <Scale>20</Scale> 9 <Label><![CDATA[位置信息]]></Label>10 </xml>

ToUserName 消息接收方微信号,一般为公众平台账号微信号

FromUserName 消息发送方微信号

CreateTime 消息创建时间

MsgType 消息类型,地理位置为location

Location_X 地理位置纬度

Location_Y 地理位置经度

Scale 地图缩放大小

Label 地理位置信息

我如何在微信API中获取经纬度?  如何在百度地图中通过该经纬度查询附近的饭店?

(解决方案)下面代码可以作为参考:

if (!empty($postStr)){                                $postObj = simplexml_load_string($postStr, ‘SimpleXMLElement‘, LIBXML_NOCDATA);                $fromUsername = $postObj->FromUserName;                $toUsername = $postObj->ToUserName;              $type=$postObj->MsgType;              $customrevent=$postObj->Event;              $latitude = $postObj->Location_X;              $longitude = $postObj->Location_Y;                $keyword = trim($postObj->Content);                $time = time();                $textTpl = "<xml>              <ToUserName><![CDATA[%s]]></ToUserName>              <FromUserName><![CDATA[%s]]></FromUserName>              <CreateTime>%s</CreateTime>              <MsgType><![CDATA[%s]]></MsgType>              <Content><![CDATA[%s]]></Content>              <FuncFlag>0</FuncFlag>              </xml>";--------------------------------------------------------------------------case "location":          $contentStr="你的纬度是{$latitude},你的经度是{$longitude},我已经锁定!准备发射爱国者捣蛋!";        break;

来自:http://bbs.ibeifeng.com/read-htm-tid-65764.html