マップ キット
可用性
- iOS 3.0+
- macOS 10.9+
- Mac Catalyst 13.0+
- tvOS 9.2 +
- watchOS 2.0+
- 概要
- At a Glance
- 位置情報サービスは、アプリの地理的コンテキストを提供します Location Services Provide a Geographical Context for App
- iBeaconトランスミッターはユーザーのロケーション体験を向上させます
- iBeacon Transmitter Enhance the User’s Experience of a Location
- 見出し情報は、ユーザーの現在の向きを示します Heading Information Indicates the User’s Current Orientation
- マップは、ナビゲーションと地理的に関連するコンテンツの表示をサポートします Maps Support Navigation and the Display of Geographically Relevant Content
- ルーティングアプリはユーザーに道順を提供します Routing Apps Provide Directions to the User
- ローカル検索 Local Search
概要
MapKitを使用して、地図と位置情報でアプリに場所の感覚を与えます。MapKitフレームワークを使用して、次のことができます。
- マップをアプリのウィンドウとビューに直接埋め込みます。
- 関心のあるポイントを呼び出すために、注釈とオーバーレイをマップに追加します。
- ユーザーが目的地や興味のある場所を簡単に検索できるように、テキスト補完を提供します。
アプリが交通機関のルートを提供している場合は、マップでルートを利用できるようにすることができます。マップを使用して、アプリで提供する道順を補足することもできます。たとえば、アプリが地下鉄の移動経路のみを提供している場合、マップを使用して地下鉄の駅との間の徒歩の経路を提供できます。
位置情報サービスと地図について
About Location Services and Maps
アプリで位置情報に基づく情報を使用することは、ユーザーが周囲の世界とつながるための優れた方法です。この情報を実用的な目的(ナビゲーションなど)で使用する場合でも、娯楽目的で使用する場合でも、ロケーションベースの情報は全体的なユーザーエクスペリエンスを向上させることができます。
ロケーションベースの情報は、ロケーションサービスとマップの2つの部分で構成されています。ロケーションサービスは、ユーザーのロケーションと方向(デバイスが指している方向)に関する情報を取得するためのObjective-Cインターフェイスを定義するコアロケーションフレームワークによって提供されます。マップは、マップアプリにあるものと同様のマップの表示と注釈の両方をサポートするマップキットフレームワークによって提供されます。(マップキットフレームワークの機能を使用するには、Xcodeプロジェクトでマップ機能をオンにする必要があります。)位置情報サービスとマップは、iOSとOSXの両方で利用できます。
At a Glance
地理データをアプリに組み込むことで、ユーザーを周囲の環境に向け、近くの人々とのつながりを保つことができます。
地図と位置情報サービスはiOSとOSXの両方で利用できるため、位置情報ベースのアプリは両方のプラットフォームで非常によく似たコードを使用します。違いは、ユーザーインターフェイスコード(たとえば、UIView
iOSとNSView
OS Xでの使用)と、iOSでのみサポートされているいくつかの機能(見出しサービスなど)にあります。
位置情報サービスは、アプリの地理的コンテキストを提供します Location Services Provide a Geographical Context for App
UIRequiredDeviceCapabilities
は、アプリのInfo.plist
ファイルにキーを含めます。App Storeはこのキーの情報を使用して、ユーザーがリストされた機能を含まないデバイスにアプリをダウンロードできないようにします。Core Locationフレームワークを使用すると、デバイスの現在の位置を特定し、その情報をアプリで使用できます。フレームワークは、デバイスの場所をコードに報告し、サービスの構成方法に応じて、新しいデータまたは改善されたデータを受信するときに定期的な更新も提供します。
次の2つのサービスで、ユーザーの現在地を確認できます。
- 標準位置情報サービスは、位置データを取得し、精度の指定レベルの位置の変化を追跡するための構成可能な、汎用のソリューションです。
- 有意な変化ロケーションサービスは、例えば500メートル以上のように、装置の位置に大きな変化があった場合にのみ更新配信します。
位置データの収集は、電力を大量に消費する操作です。ほとんどのアプリでは、通常、初期位置修正を確立し、その後定期的にのみ更新を取得するだけで十分です。アプリ内の位置データの重要性に関係なく、適切な位置情報サービスを選択し、デバイスのバッテリーを消耗しないように賢明に使用する必要があります。例えば:
- iOSアプリがバックグラウンドでも位置情報を監視し続ける必要がある場合は、標準の位置情報サービスを使用し
location
、UIBackgroundModes
キーの値を指定して、バックグラウンドで実行を継続し、位置情報の更新を受信します。(この状況では、電力を節約するためにロケーションマネージャーのpausesLocationUpdatesAutomatically
プロパティがに設定されYES
ていることも確認する必要があります。)このタイプのロケーション更新が必要になる可能性のあるアプリの例は、フィットネスまたはターンバイターン方式のナビゲーションアプリです。 - GPSレベルの精度がアプリにとって重要ではなく、継続的な追跡が必要ない場合は、大幅な変更の位置情報サービスを使用できます。これらの更新は、停止するまで24時間継続的に実行され、効果的に使用しないと実際にはエネルギー使用量が増える可能性があるため、重要な変更位置情報サービスを正しく使用することが重要です。
locationServicesEnabled
クラスメソッドを呼び出すことをお勧めしますCLLocationManager
。それが戻ってきてNO
、とにかく位置情報サービスを開始しようとすると、システムは、位置情報サービスを再度有効にする必要があるかどうかを確認するようにユーザーに求めます。ユーザーが意図的に位置情報サービスを無効にした可能性があるため、プロンプトは歓迎されない可能性があります。マップは、ナビゲーションと地理的に関連するコンテンツの表示をサポートします Maps Support Navigation and the Display of Geographically Relevant Content
各テクノロジーを使用するために、このドキュメント全体を読む必要はありません。CoreLocationおよびMapKitフレームワークサービスは、他のサービスから独立しています。各章の冒頭では、対応するテクノロジーを理解するために必要な用語と情報を紹介し、その後に例とタスク関連の手順を示します。唯一の例外は、「マップの表示」の章に示されている情報に基づいて作成された「マップの注釈」の章です。
関連項目
Core Locationフレームワークのクラスについては、 『Core Location Framework Reference』を参照してください。
マップキットフレームワークのクラスについては、マップキットフレームワークリファレンスを参照してください。
プロジェクトでマップサービスを有効にする方法については、アプリ配布ガイドの「マップの構成」を参照してください。
アプリで位置認識をテストおよびデバッグする方法については、「マップを使用して位置認識をシミュレートする」を参照してください。
コメント