微信公众开放平台 接口文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140841
获取用户地理位置(需要用户点击同意)
需要在微信公众平台,接口权限中开通上报地理位置接口。
在用户点击同意后,会上报用户当前的地理位置信息,第三方在收到地理位置上报信息之后,只需要回复success表明收到即可,是不允许回复消息给粉丝的。
推送XML数据包示例:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>23.137466</Latitude>
<Longitude>113.352425</Longitude>
<Precision>119.385040</Precision>
</xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>23.137466</Latitude>
<Longitude>113.352425</Longitude>
<Precision>119.385040</Precision>
</xml>
参数说明:
参数 | 说明 |
ToUserName | 开发者微信号 |
FromUserName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间 (整型) |
MsgType | 消息类型,event |
Event | 事件类型,LOCATION |
Latitude | 地理位置纬度 |
Longitude | 地理位置经度 |
Precision | 地理位置精度 |
开发者响应微信发送的数据信息:
if($postObj->Event == 'LOCATION'){ $Latitude = $postObj->Latitude; $Longitude= $postObj->Longitude; //返回给用户 $contentStr = "我们收到您上报的地理位置:\n\n 纬度是:{$Latitude} \n,经度是{$Longitude}"; $resultStr = sprintf($textTpl,$fromUsername,$toUsername,$time,'text',$contentStr); echo $resultStr; }
转载请注明:苏demo的别样人生 » 微信公众号获取用户地理位置