获取用户地理位置的方式有两种,一种是仅在进入会话时上报一次,另一种是进入会话后每隔5s上报一次。微信公众号可以在微信公众平台网站中设置。
用户同意上报地理位置后,每次进入微信公众号会话时,都会在进入时上报地理位置,或在进入会话后每5s上报一次地理位置。上报地理位置是通过推送XML数据包到开发者填写的URL来实现的。
推送XML数据包的示例如下。
<xml> <ToUserName><![CDATA[gh_45072270791c]]></ToUserName> <FromUserName><![CDATA[o7Lp5t5BZDl22PcjIliHp03kzgBE]]></FromUserName> <CreateTime>1389686084</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[LOCATION]]></Event> <Latitude>28.551088</Latitude> <Longitude>112.123856</Longitude> <Precision>96.000000</Precision> </xml>
上述数据包的参数说明如表6-9所示。
表6-9 获取用户位置信息的参数说明