我有一个应用程序,可以在用户驾驶汽车时为他们显示最近的加油站。现在我可以显示前 10 个最近的加油站。我还想构建一个视图,显示用户当前位置和我从数据库收集的前 10 名(即第一个)之间最近的加油站之间的距离。我怎么想的
1- The GPS provide a new location to my application.
2- run an SQL query to get the top 10 gas stations in a Circle that it center is the user location and it radius is 2 km.
3- calculate the distance between the current location and the first gas station returned from the Query above (which is the nearest one) .
4- display that distance to user.
现在为什么我认为这不好,因为 gps 提供商可能会迟到提供新位置,因为我将它们过滤到 200m 精度内。我做了一个可能需要很长时间才能返回的 I/O 操作。所有这一切都会导致用户与最近的加油站之间的距离固定,等待更新。
请注意以下事项
1-我为查询中使用的列建立索引以加快和防止完全扫描问题。
2-这就是我如何定义我的更新请求以尽快更新位置。this.mLocationManager.requestLocationUpdates("gps", 0, 0, this.mLocationListener);
有没有更快的方法来做到这一点?