我当前的应用程序需要一个功能,即使在地铁下也可以获取用户的位置。
由于此应用主要在纽约市和纽约市地铁下使用,因此您的手机没有信号。(如果您使用T-Mobile或AT&T)。因此,我决定使用此解决方案:
if user not under subway:
get accurate location
else:
get location range[start subway station, end subway station]
当前的问题是:如何获得“启动地铁站”
当前的解决方案是:应用程序在后台更新位置信息
每10秒,当应用检测到无法访问互联网时,
将此“最后位置”存储为“起始地铁站”。
该解决方案将浪费用户大量的数据和电池。
对于这个问题还有其他更好的解决方案吗?
最佳答案
不断存储用户位置的过程会很快耗尽手机的电池。取而代之的是,我每隔x分钟存储一个位置,并从最近保存的地点算起最近的地铁入口。您甚至可以在每个位置状态上运行一些代码,并在用户离入口越来越近的情况下使用更短的时间间隔(以确定他/她是否进入地下)