0

我有一个MKMapView&PinAnnotation用于在MKMapView. 我有一个本地数据库,其中包含数千个位置的latitude& longitudeMKMapView当应用程序启动时,我想在距离当前位置 10 公里左右绘制引脚。

4

2 回答 2

3

我使用以下方式完成了它 -

1) 先用( )的方法求出当前的latitude& 。longitudedelegateMKMapViewdidUpdateUserLocation

2)找到与当前位置的距离,该位置存储在我的本地数据库中(KM)。

3) 如果distance <=10 Kms,则 plot pin,否则什么也不做。

于 2013-01-22T06:14:02.530 回答
2

这取决于你的数据库。一种简单的方法是计算 10 公里的经度差(在赤道和北极附近不同)和 10 公里的纬度差,然后在数据库中搜索 maxLat 和 minLat 以及 maxLong 和 minLong 之间的所有内容。这为您提供了矩形中的项目,但这是一个开始。从那里您可以循环浏览每个结果,将其设为 CLLocation 并使用distanceFromLocation检查它是否在 10 公里内。

于 2013-01-21T19:43:02.017 回答