我有一个sqlite数据库,大约有10万行,包含ATM的经度和纬度。我想通过MKMapView上的引脚显示这个ATM。但是我认为如果我一次加载DB中的所有坐标,它对内存不好而且不快。最好的方法是什么?
答案 0 :(得分:3)
你是对的,不要一次加载它们!
使用边界框仅获取要显示的地图内的坐标。看看这个问题的答案:Core Data and Core Location
对lat和lng使用相同的上限和下限概念,仅返回当前可见的sqlite行。您的查询看起来像
SELECT * FROM atms WHERE lat > 51.4 and lat < 51.6 and lng > -0.165 and lng < -0.175
此查询仅返回伦敦市中心附近的ATM(51.5,-0.17)。