スポンサーリンク

【Swift】map上に表示させたピンを消す手順。

Swift
スポンサーリンク

今回の記事は、mapview上に画面長押しで表示させたピンを、再度別の場所を長押しした際に消して、新しいピンをマップ上に表示させる手順をご紹介します。

地図アプリでエリア選択などで必須のメソッドになってくると思われるので是非覚えて使用できるようになっておくと便利です。では早速メイン記事に進んでいきます。

スポンサーリンク

mapviewを長押ししてピンをつける設定

過去参考記事
map長押しでピンを表示させる方法

まずは長押しでピンを表示させる処理についてですがそこまでは上記の記事を参考に進めてください。mapviewに地図を表示させる方法に関しても過去記事を参照してください。

mapviewからピンを削除する方法についてご紹介

mapviewにピンを表示させる際にすでにピンが表示されている場合は、元のピンを削除して新たなピンを追加する方法をご紹介します。

削除を行うメソッドは下記です。

removeAnnotation(annotation)

全体的なコードは下記です。

    var annotation = MKPointAnnotation() //タップした現在地取得用のポイント変数
  @IBAction func pressmap1(_ sender: UILongPressGestureRecognizer) {
        let location:CGPoint = sender.location(in: map1)
        
        let mapPoint:CLLocationCoordinate2D = map1.convert(location,toCoordinateFrom: map1)
        if decide == false {
            decide = true
        } else {
            map1.removeAnnotation(annotation)
        }
        if (sender.state == UIGestureRecognizer.State.ended){
            annotation.coordinate = CLLocationCoordinate2DMake(mapPoint.latitude, mapPoint.longitude)
            annotation.title = "出発点"
            annotation.subtitle = "\(annotation.coordinate.latitude), \(annotation.coordinate.longitude)"

            map1.addAnnotation(annotation)
        }
    }

FlagでdecideというFlagを立ててそれによって削除を行っております。あとはAnottetionを消すという操作です。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Swift
スポンサーリンク
スポンサーリンク
ともぶろぐ

コメント

タイトルとURLをコピーしました