メインコンテンツまでスキップ

地図表示ライブラリ

Status: Accepted

要約

このアプリでは地図表示ライブラリにreact-native-mapsを使用します。

コンテキスト

地図をアプリ上で表示するためには、React Nativeのライブラリとインターネットを介して地図情報を提供するマップSDKの2つが必要となります。 ライブラリに依存して使用できるマップSDKが制限されるため、ライブラリ選定のために調査しました。

議論

ライブラリの比較

地図表示ができるReact Native用ライブラリの中で組織的に運営されているものは2つあります。 比較した内容を以下の表にまとめました。メンテナンス状況は2023年5月時点のものになります。

ライブラリ名使用できるマップSDKExpo SDKに含まれているかメンテナンス状況
react-native-mapsiOSはMapKitGoogle Maps。AndroidはGoogle Maps数ヶ月おきのマイナーアップデートが継続的に行われています。
rnmapboxMapbox Maps SDK for iOSMapbox Maps SDK for Android×2023年4月にv10がリリースされ、その後も継続的にパッチバージョンがリリースされています。
注記

react-native-mapsは、OS標準のマップ(iOS: MapKit、Android: Google Maps)を表示できます。

一方、rnmapboxはOS標準のマップではなく、用途に合わせて自由にカスタマイズ可能なマップを表示できます。株式会社ゼンリンと連携したマップも提供されています。

地図表示の要件によって、react-native-mapsrnmapboxのどちらを選択するかを検討してください。

マップSDKのコスト

マップSDK使用料使用量制限参考
MapKit無料無制限MapKit pricing and requests limit
Google Maps無料無制限料金プランとAPIの費用
Mapbox25,000MAUまで無料。それ以上はMAUに応じて課金される。記載なしMapbox pricing

決定

react-native-mapsを使用します。 理由は以下になります。

  • Expo SDKに含まれていること
  • OS標準のマップが表示できること
    • iOS: MapKit
    • Android: Google Maps