日本ソフトウェア科学会第 41 回大会 (2024 年度) 講演論文集

Maps SDK for Android を用いたテーマパークナビ
ゲーションアプリの構築
島津 侑希

五味 悠一郎

本研究の目的は，テーマパーク内のアトラクション間のみならず，現在地から地図を表示した状態で園内移動ができることを明らかにすることである．先行研究では，Android アプリ内に地図を表示し，位置情報を取得して現在地とアトラクションの場所にマーカーピンを設置した．しかし，地図の拡大縮小や移動を行うと現在地周辺にマーカーピンが増えてしまい，現在地とアトラクションにおいてマーカーピンの違いがわからなかった．本稿では，マーカーピンの不具合を修正し，現在地からアトラクションまでのルート表示機能を追加した上で，アプリを使用し評価した．その結果，マーカーピンは想定通りに表示され，園内のほとんどのアトラクションで想定通りのルートが表示された．一方，一部のルートは想定と異なった．Maps SDK の既存ルートを使用したことが要因と考えられるため，園内にカスタムルートを追加することで解決できると考える．

1 はじめに2 先行研究テーマパークの 1 つである東京ディズニーリゾー

2. 1 先行研究 (中野)トは，新型コロナウイルス対策のため入場制限がされ中野は東京ディズニーランドに慣れていない国内外

る前の 2013 年から 2019 年までは年間で約 3000 万の来場者が最短経路で移動できるように，ナビゲー人が来場しており，2023 年は同程度の入園者数までションシステムを開発した．アトラクションの待ち回復し，パーク内では混雑が常態化している [4] [3]．

時間と移動距離を元に周回順路を決定しており，図 1

外国人観光客や東京ディズニーリゾート初心者にに示した Ver.3.0 では地図の表示はできている．しかとって，混雑しており慣れない東京ディズニーランド

し，ルートを描画した画像をあらかじめ用意し，その園内 (以降，園内とする) を円滑に移動することは困

画像を地図として表示させるシステムであったため，難である．この問題を解決するため，園内のナビゲー

どのアトラクションを選択しても，あらかじめ描画さションシステムを開発してきた [6] [5] [7]．

れたルートしか表示できなかった．Ver.3.0 は画像を

本稿の目的は，Maps SDK for Android を用いたテーマパークナビゲーションアプリにルート表示機能を追加することで，テーマパーク内のアトラクション間のみならず，現在地から地図を表示した状態で園内移動ができることを明らかにすることである．
Building a theme park navigation application using
Maps SDK for Android.
Yuichiro Gomi, 日本大学理工学部, College of Scienceand Technology, Nihon University.
Yuki Shimazu, 日本大学理工学部応用情報工学科, Department of Computer Engineering, College of Scienceand Technology, Nihon University.

表示しているため，地図の拡大縮小および回転も不可能であった [6]．

図3
図1

現在地の取得ルートを描画したナビゲーションシステム (Ver3.0)

図4

図2

Web ページ型のナビゲーションシステム

マーカーピンを設置したアトラクションきることを目標とし，現在地の取得（図 3）と現在地およびアトラクションのマーカーピンを設置した（図2. 2 先行研究 (村山)4） [7]．

Ver.3.0 の地図表示では拡大縮小および回転が不可能であったため，村山は地図の拡大縮小および回転が3 先行研究の課題

可能な地図表示プログラムを作成した．村山は canvas

2. 3 で徳岡が開発した地図表示では，地図の拡大縮機能を利用した Android アプリでの作成も検討した

小や移動を行うと現在地周辺でマーカーピンが増え，が，地図を拡大縮小できないため，図 2 に示す Web

現在地のマーカーピンとアトラクションのマーカーピ

ページ型の地図表示プログラムを作成した [5]．

ンの違いがわからないこと，およびルート表示機能を追加することが課題として述べられていた [7]．

2. 3 先行研究 (徳岡)

本稿では徳岡が開発した地図表示機能において，中野と村山が開発した地図表示および経路表示でマーカーピンの不具合を修正し，現在地からアトラクは，現在地からアトラクションまでのルート表示がでションまでのルート表示機能を追加した上で，アプリきなかった．徳岡は Maps SDK for Android を用いを使用し評価した．て現在地からアトラクションまでのルート表示がで図5

変更後の現在地表示

図6

アトラクションのマーカーピン「青色」

4 アプリの修正と構築
4. 1 マーカーピンの修正
マーカーピンの不具合修正は，徳岡と同様に Maps

SDK for Android を用いて，開発言語は Java を使用した．開発環境は Android Studio-2024.1.1 を使用した．地図の拡大縮小や移動を行うと現在地周辺でマーカーピンが増えた理由は，現在地の位置情報を取得するたびに新しいマーカーピンが設置されていたためであると考え，現在地の位置情報を取得した際に既存のマーカーピンを削除するように変更した．現在地の位置情報を取得したことが視覚的にわかりやすくな

図7

ルート表示るように，現在地の取得ボタンを画面に追加し，現在地の位置情報を手動で更新できるようにした（図 5）．

Directions API は，出発地と目的地の地点間におけ現在地のマーカーピンとアトラクションのマーカーるルートを計算する [1]．Directions API から取得しピンの違いがわからなかった理由は，現在地のマーた現在地とアトラクション間のルート情報から，ルーカーピンとアトラクションのマーカーピンがどちらもトのポリライン (連続した線データ) 座標を取得し，「赤色」であったためである．そこで，現在地のマールートを描画した（図 7）．

カーピンは「赤色」，アトラクションのマーカーピンは「青色」となるように設定した（図 6）．

5 アプリを使った実証実験
5. 1 現在地の取得

4. 2 ルート表示機能の構築

4. 1 により，現在地周辺でマーカーピンが増える不Maps SDK for Android は，地図を Android アプ具合の修正がされたこと，および現在地の取得機能リに表示し，位置情報の取得やマーカーピンの設置が正しく動作することを，園内で検証した．検証は，などができる [2]．しかし，ルート表示機能はないた

園内 7 つのエリアである「ワールドバザール」「アめ，ルート情報の取得に必要な Directions API を用ドベンチャーランド」「ウエスタンランド」「クリッいて，Maps SDK for Android の地図上で表示した．

ターカントリー」「ファンタジーランド」「トゥーンタウン」「トゥモローランド」で行った．現在地の取得場所は，1 つのエリアにおいて 4 箇所ランダムな

表1

現在地の取得: 成功/失敗 (〇: 成功 ×: 失敗)

地点を選び，合計 28 箇所とした．現在地の取得方法

地点 1

地点 2

地点 3

地点 4Wi-Fi(on）

〇

〇

〇

〇

は「Wi-Fi(on)」「Wi-Fi(oﬀ)」「機内モード」の 3 パ

Wi-Fi(oﬀ）

〇

〇

〇

〇

ターンでそれぞれ行い，各パターンを設定後に現在機内モード

〇

〇

〇

〇

地取得ボタンを押し，取得の有無を判断した．
「機内モード-Wi-Fi(on)」のパターンは，機内モード使用時にモバイルネットワークが使用できないため除外した(本稿では「機内モード-Wi-Fi〈oﬀ〉」を「機内モード」と表記する)．現在地の取得機能を実行するための Android デバイスは，moto g52j 5G を使用した．

5. 2 ルート表示
4. 2 よ り，Maps SDK for Android と Direction
API を用いて構築したルート表示機能が正しく動作することを，5. 1 同様に園内で検証した．検証は，

5. 1 同様 7 つのエリア計 28 箇所で行った．ルート表示を行うアトラクションは「オムニバス」「カリブの海賊」「ビッグサンダー・マウンテン」「スプラッシュ・

図8

現在地の取得「Wi-Fi(on)」

図9

現在地の取得「Wi-Fi(oﬀ )」マウンテン」「イッツ・ア・スモールワールド」「ロジャーラビットのカートゥーンスピン」「スペース・マウンテン」「アリスのティーパーティー」「美女と野獣

魔法のものがたり」「ウエスタンリバー鉄道」の 10 個とした．アトラクションは園内 7 つのエリアから 1 つずつ選択し，残りのアトラクションはランダムに選択した．ルート表示機能を実行するためのAndroid デバイスは，5. 1 と同じ型番を使用した．

6 結果と考察6. 1 現在地の取得
5. 1 の方法で現在地の取得機能が正しく動作することを，園内で検証した．現在地の取得機能を実行した
結果の一部を表 1 に，「Wi-Fi(on)」「Wi-Fi(oﬀ)」「機内モード」の 3 パターンで現在地を取得した結果の一部を図 8〜図 10 に示す．
表 1 と図 8〜図 10 より，「Wi-Fi(on)」「Wi-Fi(oﬀ)」Android デバイス (moto g52j 5G ) に内蔵されてい「機内モード」の 3 パターンすべてで現在地の取得をる GPS を使用したため，現在地の取得ができたと考していることがわかる．他 6 つのエリアでも同様のえた．GPS は，衛星信号を受信することにより位置結果となった．
「Wi-Fi(oﬀ)」や「機内モード」でも現を特定するため，Wi-Fi の接続がない場合でも現在在地の取得ができた理由として，本検証で使用した地を取得でき，機内モードでも動作する．そのため，

図 10

現在地の取得「機内モード」

図 11

ルート表示「スペース・マウンテン」

GPS を利用して現在地の取得を行った可能性が高いと考えた．
図 8〜図 10 より，現在地を取得した際に表示されたマーカーピンは 1 つであることがわかる．表示されたマーカーピンが 1 つであることから，現在地周辺でマーカーピンは増えておらず，不具合が修正されたと考えた．

6. 2 ルート表示
5. 2 の方法で，Maps SDK for Android と Direction API を用いて構築したルート表示機能が正しく動作することを，園内で検証した．ルート表示機能を実行した結果の一部を図 11 と図 12 に示す．
図 11 より「スペース・マウンテン」では，目的地までルート表示していることがわかる．図 12 より

図 12

ルート表示「ビッグサンダー・マウンテン」「ビッグサンダー・マウンテン」でも，ルート表示はできている．しかし，ルートが園外を経由しており，は私有地のためルート情報が取得できず，ルート表示目的地から離れた場所で途切れていることがわかる．に公道が優先されたため，目的地までのルート表示が他の箇所も同様に，ルートが目的地まで表示される場できなかったと考えた．

合と表示されない場合が確認された．ルートが園外で表示され，目的地から離れた場所で途絶えている

7 まとめ

理由として，Google が提供している Maps SDK for

本稿では，Maps SDK for Android と Direction

Android や Direction API では，園内での既存ルー

API を用いて現在地の取得機能を修正し，現在地かトが設定されていない，もしくはルート情報が提供さらアトラクションまでのルート表示機能を追加した上れていない場合が考えられる．東京ディズニーランド

で，修正および追加した機能が正しく動作することを園内各所で検証した．その結果，現在地の取得機能は

参 考 文 献正しく動作した．一方，現在地からアトラクションま[1] Google: Directions API の概要, https://develo
pers.google.com/maps/documentation/directions/overview?hl=ja. (参照 2024-06-05).
[2] Google: Maps SDK for Android の概要, https://developers.google.cn/maps/documentation/an
droid-sdk/overview?hl=ja. (参照 2024-06-05).
[3] 株 式 会 社 オ リ エ ン タ ル ラ ン ド: 2024 年 3 月 期
第 2 四 半 期 決 済 説 明 会, 東 京 ディズ ニ ー リ ゾ ー ト.
https://www.olc.co.jp/ja/news/news_olc/202
31030_05/main/00/link/20231030_5.pdf (参 照2024-02-29).
[4] 株式会社オリエンタルランド: 入園者数データ, 東京
ディズニーリゾート. http://www.olc.co.jp/ja/tdr/guest.html (参照 2024-02-29).
[5] 村山 歩 五味悠一郎: テーマパークアトラクションナ
ビゲーター（D Navi）における地図表示手法の検討, 日
本ソフトウェア科学会第 36 回大会, 2019.
[6] 中野 雅允 宇田川 祐介 五味悠一郎: アトラクション
ナビゲータにおける最適経路表示システムの改善と実地検証, 第 61 回日本大学理工学部学術講演会, 2017.
[7] 徳岡 美華 五味悠一郎: Maps SDK を用いたテーマ
パークナビゲーションシステムの検討, 第 67 回日本大学理工学部学術講演会, 2023.

でのルート表示機能は，一部正しく動作しなかった．
原因は，Maps SDK for Android や Direction APIで提供されている私有地のルート情報が不足していたためだと考えた．ルート表示機能における問題の解決方法として，Maps SDK for Android のポリライ
ン描画機能を使用して園内にカスタムルートを作成すること，もしくは園内を移動したときのルートをトラッキング機能で記録することが考えられる．
これらの方法を用いてルート表示機能を修正し，園内すべての場所でルート表示が可能になれば，本稿の目的「現在地から地図を表示した状態で園内移動ができることを明らかにすること」を達成できると考える．