如何实时获取iPhone的位置


想实现两个场景

1)当一个用户发一条动态后,当前在附近1KM之内的所有其它用户在不开应用的情况下都会收到推送提醒
2)当一个用户到达一个新地点后(同样不开应用),附近1KM之内的最新动态都会以推送提醒的方式通知用户

第一个场景现有的方案只能通知到“多少时间之前在附近1KM”之内的用户,而不能通知到所有“当下”在附近1KM之内的用户。如果想实现通知当下在附近1KM之内的用户,必须能在用户不开应用的情况下实时获取用户的位置,请问是否可以实现?怎么实现?

第二个场景想实现就必须能监听到用户位置大范围移动的事件,当用户移动了一定的距离后,我们的客户端或者服务端可以做一些处理,请问是否可以实现?怎么实现?

ios6 ios

崔哥神威震天下 11 years, 2 months ago

问题1,这个push是在服务器端实现,当用户发布新状态带上gps信息,服务器根据经纬度加上一个简单的距离计算公式,再向周围的人群进行push。

不开应用无法获取gps的,不过gps支持后台更新,但不能上传到服务器,你能做的就是当用户打开或者程序到前台时向服务器更新个gps。后台只支持gps voip audio。

你想拿的是当前的用户,这个你这边自己定,比如你定1小时内更新在这个位置的用户为当前就行,拿到范围内的用户再根据时间筛选。这类信息本来就不是实时的,如果时im类型app,那就心跳包,更准确。

问题2,不可能不开应用更新gps。你可以在用户打开一次应用又进入后台或者关闭应用后,来进行push。

五月的一天 answered 11 years, 2 months ago

Your Answer