我正在开发一个从 API 加载位置的地图应用程序。我已经编写了代码,因此当用户平移很长一段距离时,会在 API 中查询 x 公里内的位置,并替换注释。
我正在为 iOS 编写代码,但这适用于任何地图应用程序。
在这一点上一切正常,但我对我的算法很不满意,因为我的算法是什么显着距离,以及要加载的位置半径。我正在考虑的一些事情-
- 地图视图是一个长方形,比宽高。
- 在 x 公里内加载位置会给你一个圆圈
- 用户可以放大和缩小
- 用户可以平移 N,S,E,W
- 每次小的视图变化都重新加载会导致糟糕的用户体验 - 需要有一个阈值
- 应该有视图之外的位置,以便用户在重新加载之前可以平移和缩放到一定程度
- 给定一个圆内的矩形,向上或向下平移的用户将比左右平移时更早到达圆的边缘
- 为了节省资源,当缩小得太宽时,并非所有位置都显示出来,因此放大可能会显示新位置
- 缩小将显示新位置
关于我应该做什么样的算法有什么建议吗?我正在寻找确定以下变量 -
- 加载给定屏幕宽度的位置半径
- 重新加载点之前的变化阈值(平移和缩放)