2017-06-18 20 views
0

アニメーションとして使用したい画像のシーケンスがあり、このアニメーションを特定の注釈に適用したいと考えています。HowTo:iOS MapKitアニメーション画像マーカー/注釈

MapKitのデフォルトアノテーションイメージを変更する方法と、アニメーション化する方法を教えてください。

答えて

0

カスタムイメージまたはアニメーション画像を作成するにはマーカー注釈:

リソースで
  • :コードでframe_X.png
  • にframe_1.png:希望アニメーションX系列画像を追加するには、ビューを拡張このようなMKMapViewDelegteとコントローラー:

class MyViewController: MKMapViewDelegate

ストーリーボードで

  1. ユーティリティ枠にあなたのMapKitビュー
  2. Go]を選んで、あなたの コントローラと
  3. 接続デリゲート要素を 接続インスペクタ]を選択します。

これで、View ControllerがMapViewからコールバックを取得できるようになりました。コードで

: あなただけのコードからタイマー行を削除し、アニメーションを必要としない場合は、マーカー/注釈セットアップコールバック

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? 
    { 
     if !(annotation is MKPointAnnotation) { 
      return nil 
     } 

     let reuseId = "test" 

     anView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseId) 
     if anView == nil { 
      anView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseId) 
      anView!.image = UIImage(named:"frame_1") 
      anView!.canShowCallout = true 


      Timer.scheduledTimer(timeInterval: 0.05, target: self, selector: #selector(Changeimage), userInfo: nil, repeats: true) 

     } 
     else { 
      anView!.annotation = annotation 
     } 

     return anView 
    } 

    func Changeimage() 
    { 
     if count == 8 
     { 
      count=0 
     } 
     else 
     { 
      anView!.image = UIImage(named:"frame_\(count+1)") 
      anView!.canShowCallout = true 
      count=count+1 
     } 
    } 

を上書きするために、次のコードを追加します。

関連する問題