iOS

[Swift]クラスタされているPINを取得する

投稿日:2019年1月15日 更新日:

はじめに

こんにちはsuzukiです。 今回は以前に紹介したクラスタ機能とテーブルビューを利用して、クラスタリングされたPINから、どのようなPINが含まれているかをリスト表示をしていこうと思います。 前回の記事はこちらを参照ください。

前回からの修正箇所

前回の記事からコードを少し変更しております。

  • enumでカテゴリの定義を追加
  • CustomPinAnnotationにカテゴリの追加
  • pin2にカテゴリの追記とpin4の作成
  • MapViewDelegateの記述場所の変更
上記を追加した状態でのコードをこちらに記述します。

クラスタリングされたPINの内容を取得する

クラスタリングされているPINか判別

今回はPINの内容を取得するため、PINがタップされた時に呼ばれるデリゲートを使用します。 mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) 上記が呼ばれた時にクラスタリングされているPINか通常のPINか判別します。 クラスタリングされているPINの場合、MKClusterAnnotationにダウンキャストが行えます。

クラスタリングされているPINを取得する

クラスタリングされているPINはMKClusterAnnotationの memberAnnotations から取得できます。 memberAnnotationsの型は [MKAnnotation] です。カスタマイズされたクラスの情報を取得したい場合はダウンキャストかmapで変換しましょう。

こちらでクラスタリングされているPINの情報が取得できました。

TableViewとの連携

TableViewをストーリーボードで作成

ストーリーボードでTableViewを実装します。

    TableViewの配置
  • デリゲートとデータソースの関連付け
  • tableViewとしてIBOutlet接続
    Cellの配置
  • Cellという名前でIdentifierを設定

PIN情報の受け取り

PIN情報を受け取るためCustomPinAnnotationの配列を宣言します。

selectedPinList が記述できたら、実際にPIN情報を渡してみましょう。 クラスタリングされているPINを取得するで作成したguard文の後ろに selectedPinList = pinList を追加します。

TableView用のコード

こちらは特に難しいことはないかと思うので今回実装した内容を簡単に記述いたします。

最終コード

さいごに

最後までありがとうございます。テーブルビューの表示非表示を切り替えたり、普通のピンをタップしたときの処理を追加したり等アプリとしてリリースする迄には実装したい内容はたくさんありますが、今回の記事はここまでとさせていただきます。また機会があれば内容を充実させて行きます。

おすすめ書籍

詳解 Swift 第4版
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

swift

Swift3でSCLAlertViewを使ってみた

1 はじめに2 準備3 実装 はじめに 今回はSwiftでフラットなデザインの アニメーション付きアラートビューが扱える SCLAlertViewを試してみたいと思います。 準備 おなじみCocoaP ...

swift

[Swift]UITableViewのセルの入れ替えが簡単に実装できるライブラリ「SwiftReorder」

1 はじめに2 準備3 実装4 さいごに はじめに こんにちは、nukkyです。 今回は、UITableViewでセルを入れ替えたい際に、ドラッグ&ドロップ操作を簡単に実装できるライブラリ「S ...

【Swift】XCUITestでScrollViewのテストをしてみる

1 はじめに2 XCUITestとは3 導入方法3.1 オブジェクトの配置3.2 UISCrollView3.3 ラベルとボタン4 テストのための設定4.1 ラベル5 テストコード5.1 SetUp5 ...

swift

[Swift 3] テキストの装飾(フォント・文字サイズ・文字間隔・行間・文字色・下線)

1 はじめに2 フォント・文字サイズ変更3 文字間隔4 行間5 文字色6 下線7 さいごに8 おすすめ書籍 はじめに どうもはじめです。 今回は文字の装飾をやってみようと思います。 完成図を載せておき ...

swift

[Swift]動画広告を最後まで見たら何かするアレをAPPLOVINでやってみた

1 はじめに1.1 前提条件2 準備3 実装3.1 Xcodeの設定3.2 広告の再生4 テスト設定とかアプリ管理5 さいごに はじめに こんにちは、nukkyです。 今回はタイトルの通り、アプリでよ ...

フォロー

blog-page_side_responsive

2019年1月
 12345
6789101112
13141516171819
20212223242526
2728293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。