地図表示ライブラリ
Status: Accepted
要約
このアプリでは地図表示ライブラリにreact-native-mapsを使用します。
コンテキスト
地図をアプリ上で表示するためには、React Nativeのライブラリとインターネットを介して地図情報を提供するマップSDKの2つが必要となります。 ライブラリに依存して使用できるマップSDKが制限されるため、ライブラリ選定のために調査しました。
議論
ライブラリの比較
地図表示ができるReact Native用ライブラリの中で組織的に運営されているものは2つあります。 比較した内容を以下の表にまとめました。メンテナンス状況は2023年5月時点のものになります。
ライブラリ名 | 使用できるマップSDK | Expo SDKに含まれているか | メンテナンス状況 |
---|---|---|---|
react-native-maps | iOSはMapKitかGoogle Maps。AndroidはGoogle Maps。 | ○ | 数ヶ月おきのマイナーアップデートが継続的に行われています。 |
rnmapbox | Mapbox Maps SDK for iOS、Mapbox Maps SDK for Android。 | × | 2023年4月にv10がリリースされ、その後も継続的にパッチバージョンがリリースされています。 |
注記
react-native-maps
は、OS標準のマップ(iOS: MapKit、Android: Google Maps)を表示できます。
一方、rnmapbox
はOS標準のマップではなく、用途に合わせて自由にカスタマイズ可能なマップを表示できます。株式会社ゼンリンと連携したマップも提供されています。
地図表示の要件によって、react-native-maps
とrnmapbox
のどちらを選択するかを検討してください。
マップSDKのコスト
マップSDK | 使用料 | 使用量制限 | 参考 |
---|---|---|---|
MapKit | 無料 | 無制限 | MapKit pricing and requests limit |
Google Maps | 無料 | 無制限 | 料金プランとAPIの費用 |
Mapbox | 25,000MAUまで無料。それ以上はMAUに応じて課金される。 | 記載なし | Mapbox pricing |
決定
react-native-mapsを使用します。 理由は以下になります。
- Expo SDKに含まれていること
- OS標準のマップが表示できること
- iOS: MapKit
- Android: Google Maps