在MKMapView上绘制引脚,距当前位置约10公里

时间:2013-01-21 14:38:57

标签: iphone ios objective-c mkmapview

我有MKMapView&我正在使用PinAnnotation来绘制MKMapView上的图钉。 我有一个包含latitude&的本地数据库。成千上万个地点longitude。我想在应用程序启动时将引脚绘制在MKMapView上当前位置10 kms附近。

2 个答案:

答案 0 :(得分:3)

我是按照以下方式完成的 -

1)首先找到了当前latitude&amp; longitude使用delegate MKMapViewdidUpdateUserLocation)的distance <=10 Kms方法{/ 1}}。

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

3)如果pin,则绘制{{1}},否则不执行任何操作。

答案 1 :(得分:2)

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