2016-07-27 33 views
1

我試圖使用mapbox(使用ios sdk),我遇到了一個問題,我認爲我已經縮小了很多。這是我的代碼:Mapbox - setCenterCoordinate取消選擇註釋

func centerMap(location: CLLocationCoordinate2D) { 
    map.setCenterCoordinate(location, 
          zoomLevel: 14, 
          animated: true) 
} 

func mapView(mapView: MGLMapView, didDeselectAnnotation annotation: MGLAnnotation) { 
    dealDetails.hidden = false 
} 

func mapView(mapView: MGLMapView, didUpdateUserLocation userLocation: MGLUserLocation?) { 
    if let currentLocation = userLocation?.coordinate { 
     centerMap(currentLocation) 
    } 
} 

如果我當用戶的位置信息更新不重新中心的地圖(即,只是註釋掉centerMap(currentLocation)調用),那麼註釋保持選中狀態。重新定位地圖會調用didDeselectAnnotation函數,但我無法弄清楚如何保持選定的註解。任何幫助表示讚賞!

回答

1

我不認爲有任何解決方法,如果你更新中心座標。您必須重新選擇註釋。但是,您可能不需要那樣做。如果您將地圖視圖上的userTrackingMode設置爲.Follow,它應該自動重新居中。

+0

完美!感謝您的幫助,這是我一直想要的行爲。 – pgruber