Swift 2 - 使用MKMapView的类似Uber的位置选择器

时间:2016-02-15 02:39:49

标签: ios swift location mkmapview core-location

我正在尝试从我班上的一个小型MKMapView中制作一个类似uber的位置选择器。我的问题如下:

由于我希望将初始区域置于用户当前位置的中心位置,因此我将位置管理器函数中的初始区域设置为:

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
            let locValue:CLLocationCoordinate2D = (locations.last?.coordinate)!
            let latDelta = 0.005
            let lonDelta = 0.005
            let span:MKCoordinateSpan = MKCoordinateSpan(latitudeDelta: latDelta, longitudeDelta: lonDelta)
            let region:MKCoordinateRegion = MKCoordinateRegionMake(locValue, span)
            self.locationMap.setRegion(region, animated: false)
           }

这个问题是每次用户试图拖动地图区域来选择一个位置时,显然由于位置总是更新并且每次位置更新时都会调用该函数,因此地图区域会变为回到上面的函数的初始点。

另一件事是,如果我尝试提取locValue变量并将其分配给函数中类的实例变量,并添加如下行:

self.userLocation = locValue

self.userLocation不会改变。如果您对如何获得单个位置而不更新它或如何解决其中任何一个问题有任何建议,那么如果您能让我知道,我们将非常感激。 感谢。

0 个答案:

没有答案