我有一个MKMapView
&PinAnnotation
用于在MKMapView
. 我有一个本地数据库,其中包含数千个位置的latitude
& longitude
。MKMapView
当应用程序启动时,我想在距离当前位置 10 公里左右绘制引脚。
问问题
276 次
2 回答
3
我使用以下方式完成了它 -
1) 先用( )的方法求出当前的latitude
& 。longitude
delegate
MKMapView
didUpdateUserLocation
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 回答