微信企业号开发之地理位置获取

1.官方文档说明

上报地理位置事件

成员同意上报地理位置后,每次在进入应用会话时都会上报一次地理位置,或在进入应用会话后每5秒上报一次地理位置。企业可以在管理端修改应用的以上设置。上报地理位置时,微信会将此事件推送到企业应用在管理端设置的URL(以下假设该URL为http://api.3dept.com)。

  • 请求说明

Http请求方式: POST

http://api.3dept.com/?msg_signature=ASDFQWEXZCVAQFASDFASDFSS×tamp=13500001234&nonce=123412323

  • 参数说明

   
   
   123456789
   
   
   23.104105
   113.320107
   65.000000
   1

参数 说明
ToUserName 企业号CorpID
FromUserName 成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:event
Event 事件类型,此时固定为:LOCATION
Latitude 地理位置纬度
Longitude 地理位置经度
Precision 地理位置精度
AgentID 企业应用的id,整型。可在应用的设置页面查看

管理中心的回调模式中有个上报地理位置设置:

可以选择进入应用上报一次,或者5秒钟上报一次。

2.处理

解析xml然后读取地理位置,存入数据库中,方便下次调用(我试了放入httpsession中,可是下次并不能取到。。。)

			Map requestMap = MessageUtil.parseXml(sMsg);
			String fromUserName = requestMap.get("FromUserName");
			String toUserName = requestMap.get("ToUserName");
			String msgType = requestMap.get("MsgType");
			if (requestMap.get("Latitude")!=null) {
				X=requestMap.get("Latitude");
				Y=requestMap.get("Longitude");
				System.out.println("------------------维度:"+X+"经度:"+Y+"-------------");
			}

这里X Y就是所需要的维度和经度

3.作用

可以用维度和经度获取城市代号,调用天气Api,也可以用来监测企业员工的位置,今天你有没有迟到或者早退啊



你可能感兴趣的:(wechat)