この発表は iOSDC2025 で発表した内容です。
https://fortee.jp/iosdc-japan-2025/proposal/bc043c75-bab6-4d74-8676-7cae7ce461c3
マップを活用したiOSアプリは、建物や道路といった屋外の情報を扱うことが多いですが、建物にズームしたときに、その建物内のフロアマップが表示されるような機能を兼ね備えたアプリも存在します。
みなさんは、ショッピングセンターや空港といった施設内の位置情報を定義できるフォーマットをご存知でしょうか?Appleは、Indoor Mapping Data Format (IMDF) というフォーマットを提唱しています。これを使うと、フロア内の部屋の領域だけではなく、消化器や机といった屋内にある備品の位置情報も定義することができます。
IMDFで定義した屋内フロアマップは、MapKitを使って表示することができます。IMDFで定義した屋内マップを地図上に表現することで、屋内の場所をわかりやすく表示したり、施設内の情報を表示する機能なども提供できます。
このセッションでは、Appleが提唱している建物内の位置情報を定義できる IMDF についての仕様や定義の仕方について紹介をします。また、このフォーマットに則って実際に建物内の位置情報を定義して、MapKitを使って屋内のフロアマップ実装例について紹介します。
話すこと:
- Indoor Mapping Data Format の概要
- 位置情報を定義できるJSON「GeoJSON」とはなにか?
- 各フォーマットでどのような情報を定義するべきなのか
- Indoor Map Data Formatの制約について
- MapKitで屋内フロアマップの表示をする実装例
- MKGeoJSONDecoderによるGeoJSONのデコード
- 屋内フロアマップを地図の上に表示
- フロアマップ内で位置を選択して施設内の情報を表示する機能