我有一个关于 GPS 警报的问题。
我有一些点(纬度和经度)。我需要一种方法来检查用户位置是否靠近其中一些点(大约是 1800 个点)。
如果我没记错的话,有一个最佳做法:当 GPS 位置在某个区域时收到通知。这允许对电池进行优化。
你能给我一些建议吗?
我有一个关于 GPS 警报的问题。
我有一些点(纬度和经度)。我需要一种方法来检查用户位置是否靠近其中一些点(大约是 1800 个点)。
如果我没记错的话,有一个最佳做法:当 GPS 位置在某个区域时收到通知。这允许对电池进行优化。
你能给我一些建议吗?
每1800个不同区域要监控1800个点?
这不可能。见这里:
因此,Core Location 将单个应用程序可以同时监控的区域数量限制为 20 个。
如果您要监控的区域超过 20 个,您可以这样做:-
我自己开发了一个区域监控应用程序,这就是我们所做的。
定义您所说的接近其中一些点的意思。
您可以使用半正弦公式来计算当前位置与每个测试点集之间的距离。计算涉及相当数量的三角函数,因此计算量可能很大,但根据您的应用程序,可能不需要每分钟左右重新计算一次以上。