2

私は、右上にユーザー追跡ボタンを備えたマップを作成しました。私はあなたがGPSのようにユーザーの現在の位置に従うように、ロード時にデフォルトで「followWithHeadlights」に状態をどのように設定できるのだろうと思っていましたか?Mapkitユーザートラッキングボタンの状態を設定する方法

負荷の現在の挙動は:負荷の Button current behaviour

望ましい行動: Button desired behaviour

コードスニペット:

func setUserTrackingButton() { 

    // Mapkit tracking button 
    let trackingButton: MKUserTrackingBarButtonItem = MKUserTrackingBarButtonItem.init(mapView: mapView) 
    trackingButton.customView?.tintColor = UIColor(red:0.01, green:0.81, blue:0.37, alpha:1.0) 
    trackingButton.customView?.frame.size = CGSize(width: 50, height: 50) 

    let toolBarFrame = CGRect(origin: CGPoint(x: 0, y: 0) , size: CGSize(width: 50, height: 50)) 
    let toolbar = UIToolbar.init(frame: toolBarFrame) 
    toolbar.barTintColor = UIColor.white 
    toolbar.isTranslucent = true 
    let flex: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil) 
    toolbar.items = [flex, trackingButton, flex] 

    let origin = CGPoint(x: self.view.frame.size.width - 85, y: 60) 
    let roundedSquare: UIView = UIView(frame: CGRect(origin: origin, size: CGSize(width: 50, height: 50))) 
    roundedSquare.backgroundColor = UIColor.white 
    roundedSquare.layer.cornerRadius = 5 
    roundedSquare.layer.masksToBounds = true 

    roundedSquare.addSubview(toolbar) 
    mapView.addSubview(roundedSquare) 
} 

のviewDidLoad INCLUD es:

mapView.setUserTrackingMode(MKUserTrackingMode.followWithHeading, animated: true) 

ありがとうございます!

答えて

0

マップビューが完全に読み込まれた後、ユーザー追跡モードをに設定する必要があります。 viewDidLoadではそうではありません。

あなたは、マップがロードされたときに知ってMKMapViewDelegate方法mapViewDidFinishLoading(mapView:)を使用することができます。

class MyMapViewController: UIViewController, MKMapViewDelegate { 

    // ... 

    override func viewDidLoad() {   
     super.viewDidLoad() 

     // ... 
     mapView.delegate = self 
    } 

    // ... 

    func mapViewDidFinishLoadingMap(_ mapView: MKMapView) { 
     mapView.setUserTrackingMode(.followWithHeading, animated: true) 
    } 

    // ... 

} 
+0

完璧なああ、ありがとうございました! –

関連する問題