Iphone MapKit:来自Sqlite数据库的坐标
我有一个sqlite数据库,大约有100000行包含ATM的经度和纬度。我想在MKMapView上通过PIN显示此ATM。但我认为,如果一次从DB加载所有坐标,对内存和速度都不好。最好的方法是什么?你完全正确,不要一次全部加载 使用边界框仅获取要显示的地图内的坐标。查看此问题的答案: 对lat和lng使用相同的上限和下限概念,以便仅从sqlite返回当前可见的行。您的查询看起来像Iphone MapKit:来自Sqlite数据库的坐标,iphone,ios,sqlite,mapkit,Iphone,Ios,Sqlite,Mapkit,我有一个sqlite数据库,大约有100000行包含ATM的经度和纬度。我想在MKMapView上通过PIN显示此ATM。但我认为,如果一次从DB加载所有坐标,对内存和速度都不好。最好的方法是什么?你完全正确,不要一次全部加载 使用边界框仅获取要显示的地图内的坐标。查看此问题的答案: 对lat和lng使用相同的上限和下限概念,以便仅从sqlite返回当前可见的行。您的查询看起来像 SELECT * FROM atms WHERE lat > 51.4 and lat < 51.6 a
SELECT * FROM atms WHERE lat > 51.4 and lat < 51.6 and lng > -0.165 and lng < -0.175
从lat>51.4、lat<51.6、lng>-0.165和lng<-0.175的自动取款机中选择*
此查询仅返回靠近伦敦市中心(51.5,-0.17)的ATM。您完全正确,不要同时加载所有ATM 使用边界框仅获取要显示的地图内的坐标。查看此问题的答案: 对lat和lng使用相同的上限和下限概念,以便仅从sqlite返回当前可见的行。您的查询看起来像
SELECT * FROM atms WHERE lat > 51.4 and lat < 51.6 and lng > -0.165 and lng < -0.175
从lat>51.4、lat<51.6、lng>-0.165和lng<-0.175的自动取款机中选择*
此查询仅返回伦敦市中心附近的自动取款机(51.5,-0.17)。thx。但若每次当用户在MKMapView中拖动时,我都会对sqlite执行新的查询,那个么它就不会这么快了。我说得对吗?你可以等到地图拖了一段距离再看吗?或者等到用户完成拖动后再运行新的查询?但我想毫不拖延地执行此操作。马上。它是可实现的吗?使你的边界框大于地图-这意味着,如果他们拖动一点,仍然会有标记滚动到视图中。在这种情况下,您将在后台运行下一个查询以获取更多标记。但你不可能拥有你想要的一切——它要么速度快要么占用更少的内存。您必须选择哪个.thx。但若每次当用户在MKMapView中拖动时,我都会对sqlite执行新的查询,那个么它就不会这么快了。我说得对吗?你可以等到地图拖了一段距离再看吗?或者等到用户完成拖动后再运行新的查询?但我想毫不拖延地执行此操作。马上。它是可实现的吗?使你的边界框大于地图-这意味着,如果他们拖动一点,仍然会有标记滚动到视图中。在这种情况下,您将在后台运行下一个查询以获取更多标记。但你不可能拥有你想要的一切——它要么速度快要么占用更少的内存。你必须选择哪一个。