WWDC22:新たな次元に突入する「Apple MapKit」について解説(新機能はM1以降、A12以降をサポート)
※本サイトは、アフィリエイト広告および広告による収益を得て運営しています。購入により売上の一部が本サイトに還元されることがあります。
Appleが、WWDC22において、Apple マップのデーターを利用する方法を紹介する「What's new in MapKit」を公開しています。
昨年、Appleマップは、右左折車線、横断歩道、自転車専用レーン、そしてフェリービルディングのような美しく手作りされた3Dのランドマークが特徴の3D都市データを導入し、さらにレベルアップしました。
マップのディテールが増えたことで、これまで不可能だった文脈と正確さを提供できるようになり、3D地形標高が加わったことで他のマップにはないリアリズムが実現しました
今年「MapKit」は Appleマップの最新のイノベーションをあなたのアプリにもたらし、ユーザーに驚くほど詳細な世界を探検させることができます。
iOS 15 では、マップを設定する方法は、MKMapView のさまざまなプロパティを使用します。
iOS 16では、これらのプロパティを非推奨とし、代わりに新しいMap Configuration APIを導入しています。
MKMapConfiguration は新しい Map Configuration API の中心となるクラスです。
新しいSDKを使用してアプリケーションを再コンパイルするだけで、3D都市データを含むまったく新しいAppleマップが自動的に選択されます。
イメージマップ構成は、衛星画像を表示するために使用されます。
ハイブリッドマップは、画像ベースのマップに、道路ラベルやポイントオブインタレストなどのマップ機能を追加して表示するために使用します。
標準マップ構成は、完全にグラフィックベースのマップを表示するために使用されます。
これらの3つの地図構成は、既存の地図タイプと似ているため、なじみがあるかもしれません。
基本地図構成クラスは elevationStyle プロパティをサポートしており、これはフラットまたはリアリスティックのいずれかを選択できます。
フラットな標高スタイルは、地面が平らに見えることを意味します。
3D都市データを搭載した全く新しいマップには、対応ハードウェアが必要です。
iOSでは、新しいマップのサポートには、A12ベースのiPhoneおよびiPad以降が必要です。
macOSの場合、新しいマップのサポートには、M1ベースのコンピュータ以降が必要です。
3D都市データが利用できない地域では、マップは自動的にフォールバックして、標高が平坦なまったく新しいマップが表示されます。
他のすべてのデバイスでは、まったく新しいマップは、フラットな標高で表示されます。
M1 Macでは、XcodeのOSバージョンを変更するだけで、両方のエクスペリエンスをシミュレートすることができます。
MapKitは何年も前から、いくつかのスタイルオプションでオーバーレイをサポートしてきました。
iOS 16では、既存のAPIを改良して、オーバーレイを地図とシームレスに統合できるようにしています。
まず、オーバーレイのレベルについて簡単におさらいしましょう。
オーバーレイは、道路の上とラベルの上の2つの異なるレベルでレンダリングすることができます。
レンダリングレベルは、MapKit の多くのオーバーレイ挿入関数の一つを使用して、挿入時に指定できます。
オーバーレイは、道路の上とラベルの上の2つの異なるレベルでレンダリングすることができます。
道路の上とは、オーバーレイが道路、地形、水域などの地形の上に表示されることを意味します。
しかし、ラベルや、ある程度は木や建物の下にも表示されます。
道路の上は、iOS 16の新しいデフォルトモードとなる予定です。
次は、ブレンドモードについて説明します。この新しいAPIは、オーバーレイのルック&フィールをより自由にコントロールでき、新しいクリエイティブな可能性のすべてを解き放ちます。
ブレンドモードについては、写真編集アプリケーションやAppleのCoreGraphics APIですでにご存知の方も多いと思います。
ブレンド操作では、ブレンドモードで指定された一連の方程式に従って、2つのグラフィックレイヤが結合されます。
次は、「選択可能な地図機能」についてです。これは非常にリクエストの多い機能で、現在、アプリで MapKit を使用している場合、都市、POI、または物理的なオブジェクトの位置を示すためにアノテーションを利用していると思います。
POI フィルタリングを使用していない限り、これらのアノテーションは、Apple が提供する多くの類似のアノテーションを既に含むマップ上に配置されています。
これまでは、ユーザーが操作できるのは、あなたが提供したアノテーションだけでしたが、iOS 16では、それを変更する予定です。
新しい「Selectable Map Features API」を使用すると、ユーザーがマップ上の機能を選択できるようにするオプションがあります。
選択可能なマップ機能には、店舗、レストラン、ランドマークなどのポイントオブインタレスト、都市や州などのテリトリー、山脈や湖などの物理的な地形が含まれます。
MKIconStyleは、iOS16の新しいクラスです。
選択されたPOIのアイコンと色情報を持っています。
コンパイルして、アプリでどのように見えるか見てみましょう。
これで、コーポレートカラーにマッチした、Appleのアイコンを使ったアノテーションができました。
このように、選択可能な地図機能を有効にし、独自のアプリで注釈をカスタマイズすることができます。
iOS 13から「Look Around」が導入されましたが、 iOS 16では、MapKitに「MKLookAroundScene」を導入しており、これを採用するには、3つの簡単なステップで済みます。
まず、目的の場所のデータが利用可能かどうかを確認する必要があります。対象地域で見回りが利用できる場合でも、すべての場所が道路から見えるわけではないので、必ずしも見回りの画像が利用できるとは限りません。
見回しデータが利用可能かどうかを判断したら、そのデータを見回しビューコントローラーまたは見回しスナップショッターに渡す必要があります。
そして最後に、見回しデータが利用可能であれば、アプリのUIを更新して見回しプレビューを表示する必要があります。