LASSIC Media らしくメディア
位置情報・地図アプリ開発を外注する進め方と費用相場【GPS・ジオフェンス】
LASSIC IT事業部|元請(プライムベンダー)としてシステム保守・運用を受託
この記事のポイント
- GPS・Wi-Fi・BLEビーコン・ジオフェンスの測位方式にはそれぞれ適した用途があり、要件定義段階で技術選定を固めることが開発費・運用費の大きな分岐点になります
- 外注の進め方は「要件定義→測位方式と地図API選定→設計→実装→ストア審査→運用」の6フェーズで、iOSのCore Location権限設計とAndroidのバックグラウンド制限への対応が審査通過の鍵です
- 開発会社が公開する費用の目安は小規模で300万〜600万円程度、機能が増えると1,000万〜2,000万円超になる場合もあり、地図APIのライセンス料や継続的な地図データ更新コストも考慮が必要です
目次
位置情報・地図アプリで実現できる機能
位置情報・地図アプリ開発の外注とは、GPS・Wi-Fi・BLEビーコン等の測位技術とGoogle Maps PlatformやMapbox等の地図APIを組み合わせたスマートフォンアプリやWebアプリの設計・開発・保守を、専門知識を持つ外部開発会社に委託する取り組みを指します。
位置情報・地図アプリが提供できる機能は、活用シーンによって大きく異なります。代表的な機能群を整理すると次のとおりです。
- 地図表示・現在地表示:地図上に現在地ピンを表示し、ズーム・パン操作を提供する基本機能です。
- ルート案内・経路探索:出発地と目的地を指定して徒歩・自転車・車の経路を提示します。配達アプリや観光ガイドアプリで多用されます。
- ジオフェンス(仮想境界の入退場検知):特定エリアへの入退場をトリガーにプッシュ通知やAPI呼び出しを行います。店舗クーポン配信・勤怠管理・車両管理に活用されます。
- 移動履歴・軌跡記録:デバイスの位置情報を時系列で蓄積し、移動経路や滞在時間を可視化します。
- 近隣スポット検索:現在地周辺の店舗・施設を地図上に表示する機能です。観光・小売・不動産アプリで活用されます。
これらの機能は単独ではなく組み合わせて実装されることがほとんどです。どの機能を優先するかによって採用する測位方式や必要な開発工数が変わるため、要件定義の段階で機能の優先順位を明確にしておく必要があります。
測位方式の使い分け — GPS・Wi-Fi・BLE・ジオフェンスの技術選定
位置情報アプリの精度・消費電力・コストは、採用する測位方式によって大きく変わります。屋外か屋内か、精度がどの程度必要か、バッテリー消費をどこまで許容できるかの3点が技術選定の主な判断軸です。
GPS — 屋外高精度の標準手段
GPS(Global Positioning System)は衛星信号を受信して位置を算出する方式で、屋外では数メートル単位の精度を出せます。ランニング記録・配達追跡・フィールドワーク管理など、屋外での継続的な位置把握に適しています。
一方で、屋内や地下では衛星信号が届かないため測位できません。また連続稼働時のバッテリー消費が大きい点も実装上の課題となります。
Wi-Fi・セルラー測位 — 省電力の補完手段
Wi-Fi測位はアクセスポイントの電波強度を基に位置を推定する方式です。GPS非受信環境(屋内・地下)でもおおよその位置を把握でき、消費電力もGPSより少ない特徴があります。セルラー測位(基地局測位)はさらに電力消費を抑えられますが、精度は数百メートル〜数キロメートル程度とGPSより大きく劣ります。
iOSおよびAndroid双方に、GPSとWi-Fi・セルラーを組み合わせた複合測位の仕組みが標準搭載されています。AndroidのFused Location Provider API(Google Play Services)は精度要求・電力消費のバランスを取りながら最適な測位手段を自動選択する機能を提供しています*2。
BLEビーコン — 屋内測位の実用的な選択肢
BLEビーコン(Bluetooth Low Energy beacon)は、施設内に設置した発信機からの電波強度を利用して位置を推定します。GPS非対応の屋内(倉庫・商業施設・病院)での高精細な位置把握が可能です。ビーコン機器の設置と管理コストが追加でかかる点と、端末側でBluetooth許可が必要な点を要件定義段階で確認する必要があります。
ジオフェンス — 仮想境界の入退場トリガ
ジオフェンス(Geofence)は、地図上に設定した仮想的な境界にデバイスが入ったとき・出たときにアクションを起こす仕組みです。iOSではCore Locationフレームワーク*1、AndroidではGeofencing API(Google Play Services)*3が提供しています。OSレベルの境界監視を利用するため、GPSの継続取得よりバッテリー効率が高い点がメリットです。
クーポン配信・勤怠打刻・物流車両の入庫検知・危険エリア侵入アラートなど幅広い用途に使われています。
| 測位方式 | 主な用途 | 精度の目安 | バッテリー消費 | 屋内対応 |
|---|---|---|---|---|
| GPS | 屋外追跡・配達管理・ランニングアプリ | 数メートル〜数十メートル | 大きい | 不可 |
| Wi-Fi測位 | 屋内外の補完・省電力な位置把握 | 数十メートル〜数百メートル | 中程度 | 可(粗い) |
| BLEビーコン | 倉庫・商業施設内のナビ・在庫管理 | 数メートル〜数十メートル | 小さい | 可(精細) |
| ジオフェンス | クーポン・勤怠・車両入庫検知 | 境界設定による | 小さい | GPS依存 |
実際の開発では複数の測位方式を組み合わせることが多く、どの方式をどの場面で切り替えるかの設計が品質と電力効率の両立に直結します。
外注で進める流れ — 要件定義からストア審査・運用まで
位置情報・地図アプリを外注で開発する際は、一般的なアプリ開発と比べて測位方式の技術選定と権限設計が追加フェーズとして入ります。標準的な進め方を整理すると次のとおりです。
フェーズ1:要件定義と測位方式・地図API選定
「どのユーザーが・どの端末で・どの場所で・何をしたいか」を明確にし、必要な測位精度・連続取得の要否・屋内対応の必要性を整理します。ここで測位方式の組み合わせを決め、地図APIの選定も行います。
地図APIの主な選択肢はGoogle Maps Platform*4、Mapbox、MapLibre(OSS)などです。Google Maps PlatformはMap Loads・Dynamic Maps等のAPIごとに費用が発生し、月次コストが規模に応じて変動します。要件定義の段階で月次利用量を試算し、ライセンス費用を開発費とは別に見積もることが重要です。
フェーズ2:システム設計とiOS/Android権限設計
アーキテクチャ設計と並行して、iOSとAndroidそれぞれの位置情報権限をどう設計するかを決めます。権限設計の誤りはApp Store審査却下やユーザーの許諾拒否につながり、開発のやり直しが生じるリスクがあるため、設計フェーズでの確認が欠かせません。
バックエンドについては、移動履歴・ジオフェンスイベントを蓄積・処理するためのAPI設計と、想定デバイス数に応じたスケーラビリティの検討も設計フェーズで行います。
フェーズ3:実装
iOS(Swift/Objective-C)とAndroid(Kotlin/Java)のネイティブ実装、またはFlutter・React NativeなどのクロスプラットフォームSDKを使った実装を行います。測位ロジック・ジオフェンス登録・バックグラウンド取得の実装はOSの仕様変更が多い領域であり、最新のプラットフォームドキュメントを参照しながら進める必要があります。
フェーズ4:QA・ストア審査対応
位置情報アプリは実機での測位精度検証が不可欠です。シミュレーターでは実際のGPS受信を再現できないため、屋外・屋内の複数環境での実機テストを計画に組み込む必要があります。
App Store(Apple)への申請では、「常に許可」権限を要求する場合にその必要性を具体的に説明する文書が求められます。審査却下を避けるために、利用目的の文章(NSLocationAlwaysAndWhenInUseUsageDescription等)の準備と事前レビューを開発会社と連携して進めることが大切です。
フェーズ5:リリース後の運用・保守
地図データの更新・OSメジャーバージョンアップへの対応・測位精度の継続的なモニタリングが運用フェーズの主な業務です。地図APIのバージョンアップや規約変更にも定期的な確認が必要で、これらを内製で担うか継続委託するかを契約段階で決めておくと後工程のトラブルを防げます。
費用相場 — 規模別の目安と費用が増える要因
位置情報・地図アプリ開発の費用は、機能の複雑さ・対応プラットフォーム数・バックエンドの規模・地図APIのライセンス料によって幅が大きく変わります。以下は開発会社が公開している目安であり、一次資料(公的統計等)に基づく確定値ではありません。個別の要件に応じた見積もりで確認することをお勧めします。
小規模構成(300万〜600万円程度)
現在地表示・地図表示・簡易なルート案内程度の機能で、iOS/Android 1プラットフォーム対応の構成が目安です。管理画面なし・外部システム連携なしのシンプルな要件が前提となります。
中規模構成(600万〜1,500万円程度)
ジオフェンス通知・移動履歴の蓄積・管理画面・外部システム(勤怠・物流管理等)との連携を含む構成が目安です。iOS/Android両対応や、バックエンドAPIの設計・構築が加わると費用が増加します。
大規模構成(1,500万〜2,000万円超)
リアルタイムトラッキング・多数のデバイス管理・高負荷バックエンド・BLEビーコンインフラの設計を含む構成です。数百〜数千台規模のデバイスを同時管理する要件では、バックエンドのスケーラビリティ設計に相当の工数がかかります。
費用が想定より増える主な要因
- 地図APIのライセンス費用:Google Maps Platformは利用量課金のため、アクティブユーザー数が増えると月次コストが上昇します。初期開発費とは別に継続コストとして計上が必要です。
- ストア審査のやり直し:権限設計や利用目的説明の不備で審査却下されると、修正・再申請に追加工数がかかります。
- OSアップデート対応:iOSやAndroidのメジャーバージョンアップで位置情報APIの仕様が変わることがあり、リリース後の継続保守費用が発生します。
- BLEビーコン機器費用:屋内測位にBLEビーコンを使う場合、機器購入・設置・管理コストが開発費とは別にかかります。
地図APIと保守費用は開発一時費用と並んで総コストの大きな部分を占めることがあります。要件定義の段階で初期費用と継続費用を分けて試算しておくことが、予算管理の前提として重要です。
実装・運用の注意点 — iOS権限・Android制限・バッテリー・ライセンス
位置情報アプリには、一般的なアプリ開発にはない固有の実装上の注意点があります。権限設計の誤りはユーザー体験の悪化と審査却下の両方につながるため、事前の確認が欠かせません。
iOS:Core Locationの権限種別と「正確な位置情報」トグル
iOSのCore Locationフレームワークでは、位置情報のアクセス権限は主に「常に許可(Always)」と「使用中のみ許可(When In Use)」の2段階で設定します*1。iOS 14以降はさらに「正確な位置情報」のオン/オフをユーザーが選択できるトグルが追加されました。
「常に許可」を要求すると、バックグラウンドでの継続取得が可能になりますが、App Store審査では業務上の明確な必要性を説明する文書が求められます。審査の厳格化に伴い、「常に許可」が不要な機能設計に変更するよう指摘されるケースも報告されています。
「使用中のみ許可」はアプリが前面にある間のみ位置取得を行うため、プライバシーへの影響が小さくユーザーの許諾率が高い傾向があります。バックグラウンド取得が本当に必要かどうかを要件定義段階で慎重に判断することが大切です。
Android:位置情報権限とバックグラウンド取得制限
AndroidはAPIレベルの更新ごとに位置情報関連の権限仕様が変化しています。Android 10(APIレベル29)以降ではバックグラウンドでの位置情報取得に「ACCESS_BACKGROUND_LOCATION」という別の権限宣言が必要になりました*2。Android 12(APIレベル31)以降では、ユーザーが位置情報の精度(正確・おおよそ)を選択できる仕組みも追加されています。
対象のminSdkVersionとtargetSdkVersionを踏まえた権限設計を開発初期に確定しないと、後からの変更コストが大きくなります。開発会社への発注前に、対応するAndroidバージョン範囲を明確にしておく必要があります。
バッテリー消費の最適化
GPS連続取得はバッテリーへの影響が大きいため、用途に応じた精度設定と取得間隔の調整が必要です。iOSではCLLocationManagerのdesiredAccuracyとdistanceFilterを適切に設定することで不要な高精度取得を避けられます。AndroidではFused Location Provider APIのリクエスト設定(PRIORITY_BALANCED_POWER_ACCURACYなどのプリセット)を活用します。
ジオフェンスはOSレベルの境界監視を使うためGPS連続取得より電力効率が高く、通知トリガ用途にはジオフェンスを優先する設計が有効です。
地図APIのライセンスと利用規約
Google Maps PlatformはAPIの種別・呼び出し回数に応じた従量課金制です*4。地図表示1件あたりのMap Loadsやルート案内のDirections APIなど、機能別に料金体系が異なります。商用利用・ブランディング表示の可否など利用規約の制限事項も確認が必要です。
オープンソースのMapLibreやOpenStreetMapベースの地図ライブラリはサーバー費用を自社負担する形になりますが、ライセンス費用の固定化や表示カスタマイズの自由度という点でメリットになる場合があります。
委託先(開発会社)の選び方 — 測位実績・API経験・審査知見の3軸
位置情報・地図アプリの外注先を選ぶ際は、一般的なアプリ開発実績に加えて、測位機能と地図API開発に固有の知見があるかどうかの確認が重要です。委託先選定の主な評価軸を3点に整理します。
評価軸1:測位実装の実績と技術スタック
GPS・ジオフェンス・BLEビーコンのいずれかに関わる開発実績があるかを確認します。提案書や見積書の中で、Core LocationやFused Location Provider APIの具体的な設計方針に言及しているかどうかが技術力の指標になります。「iOSとAndroidを両方対応した」実績か「どちらか片方のみ」かも確認ポイントです。
評価軸2:地図API選定と費用試算の経験
Google Maps PlatformやMapboxなど複数の地図APIを比較し、要件に合った選定を提案できる会社を選びます。地図APIのライセンスコストを初期費用と切り離して月次・年次で試算し、提示してくれるかどうかを確認すると、ランニングコストのトラブル防止になります。
評価軸3:App Store/Google Play審査の通過実績
「常に許可」権限を使うアプリのApp Store審査を通過した経験があるかを確認します。審査リジェクトへの対応経験がある会社は、申請書類の書き方や設計変更の判断が速く、審査やり直しによる追加費用リスクを抑えられます。
加えて、リリース後の運用・保守(OSアップデート対応・地図データ更新・精度モニタリング)まで対応できる体制を持っているかも確認することをお勧めします。開発フェーズのみを請け負う会社では、リリース後の継続的な対応に別途委託先を探す手間が生じることがあります。
発注前の技術ヒアリングでは、「バックグラウンド取得が必要な際の権限設計の方針」「想定デバイス数増加時のバックエンドスケール戦略」「地図APIのコスト試算方法」を具体的に聞くことで、技術力と提案力の両面を評価できます。
まとめ:位置情報・地図アプリ外注で押さえる3つの判断軸
本稿では、位置情報・地図アプリ開発を外注で進める際の機能・測位方式・外注フロー・費用相場・実装上の注意点・委託先選定を整理しました。要点を3点に集約します。
第一に、測位方式の選定は開発費・運用費・審査難易度の分岐点です。GPS・Wi-Fi・BLE・ジオフェンスをどの場面で組み合わせるかを要件定義段階で確定しないと、後からの設計変更コストが大きくなります。
第二に、iOSのCore Location権限設計とAndroidのバックグラウンド制限への対応は、ストア審査の通過可否に直結します。「常に許可」を安易に要求すると審査リジェクトのリスクが生じるため、最小権限の原則で設計することが大切です。
第三に、費用は初期開発費だけでなく地図APIのライセンス料・OSアップデート対応・精度保守などの継続費用も合わせて試算する必要があります。開発会社が公開する費用の目安は小規模で300万〜600万円程度、機能が増えると1,000万〜2,000万円超になる場合もあり、要件によって変動幅が大きい点を念頭においてください。
よくある質問
位置情報アプリを外注する場合、まず何を決めればよいですか?
最初に「どの測位方式を使うか」と「どの地図APIを採用するか」の2点を決めることが大切です。測位方式(GPS・Wi-Fi・BLEビーコン・ジオフェンス)によって必要なインフラとiOS/Android双方の権限設計が変わります。地図APIはGoogle Maps PlatformやMapboxなど利用規模に応じたライセンス費用が発生するため、要件定義段階で月次コストの見積もりも含めて検討してください。
ジオフェンスとはどういう機能ですか?
ジオフェンスとは、地図上に仮想的な境界線(フェンス)を設定し、デバイスがその境界に入ったとき・出たときにトリガーとなるアクション(通知・記録・API呼び出し等)を実行する機能です。店舗周辺へのクーポン配信、工場の入退場管理、営業車両の稼働記録などに活用されています。iOSではCore Locationフレームワーク、AndroidではGeofencing API(Google Play Services)を使って実装します。
位置情報アプリ開発の外注費用の相場はどのくらいですか?
開発会社が公開する目安によれば、現在地表示・地図表示・ルート案内程度の小規模構成で300万〜600万円程度、ジオフェンス通知・移動履歴・管理画面・外部システム連携を含む中規模構成で600万〜1,500万円程度、リアルタイムトラッキング・大量デバイス管理・高負荷バックエンドを要する大規模構成では1,500万〜2,000万円超になる場合もあります。これらは市場参考値であり、要件によって大きく変動します。
iOSの位置情報権限には種類があると聞きましたが、どう違いますか?
iOS(Core Location)の位置情報権限は主に「常に許可(Always)」「使用中のみ許可(When In Use)」の2種類があり、さらにiOS 14以降は「正確な位置情報」のオン/オフをユーザーが選択できるトグルも追加されました。「常に許可」はバックグラウンドでの継続取得が可能ですが、App Store審査で明確な業務上の理由が求められます。「使用中のみ許可」はアプリが前面にある間のみ取得でき、ユーザーへの心理的負担が小さい分、許諾率が高い傾向があります。要件に応じて最小権限の原則で設計することが重要です。
位置情報の連続取得はバッテリー消費に影響しますか?
影響します。GPSは測位精度が高い反面、連続稼働時のバッテリー消費が大きいため、取得間隔・精度レベルの調整が必要です。iOSではCLLocationManagerのdesiredAccuracy・distanceFilterを用途に合わせて設定し、AndroidではFused Location Provider APIが提供するプリセット(PRIORITY_BALANCED_POWER_ACCURACY等)を活用することで消費を抑えられます。ジオフェンスはポーリングではなくOSレベルの境界監視を使うため、継続的なGPS取得より電力効率が高い選択肢となります。
著者:テレリモ総研編集部 鈴木 亮佑
ご不明な点はお問い合わせフォームからもご連絡いただけます。
- *1 出典:Apple「Core Location | Apple Developer Documentation」(https://developer.apple.com/documentation/corelocation)— iOSの位置情報権限種別(Always/When In Use)・iOS 14以降の正確な位置情報トグルに関する公式仕様
- *2 出典:Google「Request location permissions | Android Developers」(https://developer.android.com/develop/sensors-and-location/location/permissions)— AndroidのFused Location Provider APIおよびACCESS_BACKGROUND_LOCATION権限に関する公式仕様
- *3 出典:Google「Create and monitor geofences | Android Developers」(https://developer.android.com/develop/sensors-and-location/location/geofencing)— AndroidジオフェンスAPIの仕様
- *4 出典:Google「Maps Platform pricing | Google Maps Platform」(https://mapsplatform.google.com/pricing/)— Google Maps Platformの料金体系