2016-07-27 6 views
1

私はmapboxを試しています(ios sdkを使用しています)、私はかなり遠くに絞り込んだと思う問題にぶち込まれました。ユーザの位置が更新されたとき、私はマップを中央に再していない場合(つまり、単にcenterMap(currentLocation)呼び出しをコメントアウト)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) 
    } 
} 

その後、アノテーションが選択されたまま:これは私のコードです。マップを再センタリングするとdidDeselectAnnotation関数が呼び出され、その注釈を選択したままにする方法がわかりません。どんな助けもありがとう!

答えて

1

センター座標を更新すると、その周りには何の方法もないと思います。注釈を再選択する必要があります。しかし、おそらくそれを行う必要はありません。マップビューのuserTrackingMode.Followに設定すると、自動的に再センタリングされます。

+0

完璧!助けてくれてありがとう、これは私が全部したいと思った行動でした。 – pgruber

関連する問題