実施形態の道案内サーバは、携帯情報端末からの道案内依頼に応じて道案内プログラムを提供する道案内である。この道案内サーバは、携帯情報端末が道案内を依頼した時点における出発位置の情報である出発位置情報と到達すべき目標位置の情報である目標位置情報とを得る。そして、地図・写真情報提供サーバにアクセスして出発位置情報と目標位置情報とに基づき出発位置から目標位置までのルートである案内ルートの検索を要求する。そして、案内ルートに沿った移動方向に見える風景に対応する地図・写真情報を特定するための地図・写真特定情報を作成し、携帯情報端末を地図・写真情報提供サーバにアクセスさせて地図・写真特定情報に基づき携帯情報端末の画像表示面に道案内の表示をさせるためのプログラムである道案内プログラムを作成する。そして、携帯情報端末に道案内プログラムを配信する。
道案内サーバが携帯情報端末に配信する道案内プログラムは、携帯情報端末を操作するプログラムであり、どのように携帯情報端末の画像表示面に道案内の表示をさせるかを制御するプログラムである。道案内プログラムは、地図・写真特定情報を含み、この地図・写真特定情報は道案内のために携帯情報端末の画像表示面に表示をさせる画像の内容を特定するものである。
地図・写真特定情報は、案内ルートに沿った複数のポイントの位置情報および複数のポイントにおける移動方向の写真(案内ルートに沿った移動方向に見える風景に対応する写真)(案内ルートに沿った移動方向に見える風景に対応する写真)を特定する情報であってもよい。道案内プログラムは、携帯情報端末に所定時間毎の前記携帯情報端末の現在位置を測位させ、携帯情報端末を地図・写真情報提供サーバにアクセスさせて現在位置の付近のポイントにおける移動方向の写真の画像をダウンロードさせ、携帯情報端末の画像表示面に移動方向の写真を表示させるものであってもよい。
ここで、「現在位置の付近」の意味は、「道案内プログラムは、携帯情報端末に所定時間毎の携帯情報端末の現在位置を測位させ、携帯情報端末を地図・写真情報提供サーバにアクセス」させるが、現在位置と丁度同じ位置における「写真情報」が得られるとは限らない。その理由は、写真は静止画であるので、離散的な位置の写真情報しか得ることができないためである。このような事態は常時、発生するので、地図・写真情報提供サーバは指定された位置に最も近い位置に対応する写真情報を提供するようにしている。以上の理由によって「付近」の用語は以上のような意味に用いられる。
ポイントにおける移動方向の写真を特定する情報は、道案内サーバが、ポイントから移動方向の次のポイントへ向かうベクトルの方向を演算して、ポイントにおける360°の全方向写真のなかから前記ベクトルの方向の写真を選ぶ情報であってもよい。
地図・写真特定情報は、曲り角の前にあるポイントの位置情報を含むようにしてもよい。そして、道案内プログラムは、測位毎に携帯情報端末に曲がり角の前のポイントを通過したか否かを判断させ、携帯情報端末が曲がり角の前のポイントを通過したと判断するときに、携帯情報端末を地図・写真情報提供サーバにアクセスさせて曲り角の前にあるポイントの一つ先のポイントにおける移動方向の写真の画像をダウンロードさせ、画像表示面に曲り角の前にあるポイントの一つ先のポイントにおける移動方向の写真の画像を表示させてもよい。このようにすれば、曲り角を曲った先の移動方向の写真を曲る前に見ることができるので、携帯情報端末のユーザーは曲り角で戸惑うことはない。
曲り角の前にあるポイントの位置情報は、該道案内サーバが、ポイントにおけるベクトルの方向とポイントの一つ先のポイントにおけるベクトルの方向の差分を演算し、差分が所定範囲を超えた場合にポイントを曲り角の前にあるポイントであると判断して求めるようにしてもよい。
道案内プログラムは、携帯情報端末の画像表示面にルート確認ボタンを表示させ、携帯情報端末のユーザーがルート確認ボタンをクリックしたときに、携帯情報端末を地図・写真情報提供サーバにアクセスさせて各ポイントにおける写真を進行方向に順次ダウンロードさせ、携帯情報端末の画像表示面に表示させるようにしてもよい。このようにすれば、案内ルートに沿った大容量の写真の画像のデータを携帯情報端末に記憶することなく、ルート確認ボタンをクリックした場所から移動方向に見える風景の写真を順次見て移動を開始する前にルート確認ができる。なお、前の写真の画像のデータの上に次の写真の画像のデータを上書きすれば、携帯情報端末の記憶装置の容量は小さくてもよい。
携帯情報端末からの道案内依頼は、目標サイトサーバを介して道案内サーバが受信するようにしてもよい。このようにすれば、案内サーバの存在を知らない携帯情報端末のユーザーも簡単に道案内のサービスを受けることができる。さらに、目標サイトサーバを運用する者は、目標サイトサーバにアクセスして道案内を依頼した者の数を案内サーバの運用者に問うことなく、自身で把握できるという利益を得る。
実施形態の道案内サーバ制御方法は、携帯情報端末からの道案内依頼に応じて道案内プログラムを提供する道案内サーバにおける制御方法であって、携帯情報端末が道案内を依頼した時点における出発位置の情報である出発位置情報と到達すべき目標位置の情報である目標位置情報とを得て、地図・写真情報提供サーバにアクセスして出発位置情報と目標位置情報とに基づき出発位置から目標位置までのルートである案内ルートの検索を要求し、案内ルートに沿った移動方向に見える風景に対応する地図・写真情報を特定するための地図・写真特定情報を作成し、携帯情報端末を地図・写真情報提供サーバにアクセスさせて地図・写真特定情報に基づき携帯情報端末の画像表示面に道案内の表示をさせるためのプログラムである道案内プログラムを作成し、携帯情報端末に道案内プログラムを配信する。
実施形態の道案内サーバ制御プログラムは、携帯情報端末からの道案内依頼に応じて道案内プログラムを提供する道案内サーバとして機能するコンピュータに、携帯情報端末が道案内を依頼した時点における出発位置の情報である出発位置情報と到達すべき目標位置の情報である目標位置情報とを得る処理と、地図・写真情報提供サーバにアクセスして出発位置情報と目標位置情報とに基づき出発位置から目標位置までのルートである案内ルートの検索を要求する処理と、案内ルートに沿った移動方向に見える風景に対応する地図・写真情報を特定するための地図・写真特定情報を作成する処理と、携帯情報端末を地図・写真情報提供サーバにアクセスさせて地図・写真特定情報に基づき携帯情報端末の画像表示面に道案内の表示をさせるためのプログラムである道案内プログラムを作成する処理と、携帯情報端末に道案内プログラムを配信する処理と、を実行させる。
「道案内システムの概要」
図1は、実施形態の道案内システム10を示す図である。
道案内システム10は、携帯情報端末20と、複数個のサーバと、携帯情報端末20とサーバとを相互に接続するインターネット40と、を備える。道案内システム10においては、例えば、スマートフォン21、スマートフォン22、ノートパソコン23を携帯情報端末20として有する。スマートフォン21、スマートフォン22、ノートパソコン23は、インターネット接続機能によって無線でインターネット40と接続される。道案内システム10においては、サーバとして、目標サイトサーバ31、道案内サーバ32、地図・写真情報提供サーバ33を有する。
道案内システム10に用いる携帯情報端末20は、多機能を有して情報を処理できる端末である。携帯情報端末20の多機能性と情報処理能力の高さは、マイクロプロセッサ(MPU:microprocessor)で実行されるオペレーティングシステム(OS: Operating System)によって保障される。また、オペレーティングシステム上で動作するアプリケーションプログラム、マイクロプロセッサによって制御される周辺機器によってさらに多機能性を高めている。周辺機器としては、ラム(RAM: Random Access Memory)、ロム(ROM: Read Only Memory)に加え、ユーザインターフェイスデバイスおよび画像表示面として機能するタッチパネル付きの液晶画面(LCD: Liquid Crystal Display)、または、画像表示面として機能する液晶画面およびユーザインターフェイスデバイスとして機能するキーボードと、携帯情報端末20の現在位置を検出する測位機能と、インターネット接続機能と、を具備している。
携帯情報端末20がスマートフォンである場合には、さらに、携帯電話として機能させるための電話機能を有している。スマートフォンにおいて現在普及している主なるオペレーティングシステムは、アンドロイド(Android:登録商標)、アイオーエス(iOS:登録商標)である。例えば、商品名ギャラクシー(GALAXY:登録商標)、商品名エクスぺリア(XPERIA: 登録商標)においては、オペレーティングシステムとしてアンドロイドを用いている。また、例えば、商品名アイフォーン(iPhone:登録商標)、商品名アイパッド(iPad:登録商標)においてはオペレーティングシステムとしてアイオーエスを用いている。アンドロイド、アイオーエスのいずれも、実施形態の道案内システム10において用いることができる。例えば、スマートフォン21のオペレーティングシステムはアンドロイド、スマートフォン22のオペレーティングシステムはアイオーエスである。
携帯情報端末20がノートパソコン23である場合には、現在普及している主なるオペレーティングシステムは、ウインドウズ(Windows:登録商標)、マックオーエス(Mac OS:登録商標)である。ウインドウズ、マックオーエスのいずれも、実施形態の道案内システム10において用いることができる。
携帯情報端末20は、全地球測位システム(GPS: Global Positioning System)を用いる測位機能を備えるのが一般的である。GPSは、複数の航法衛星50が航法信号を地上の不特定多数に向けて電波送信し、それを受信する受信機(実施形態ではスマートフォン、ノートパソコン等に内蔵される)を用いる航法(自己の位置を知る方法)による測位システムである。
また、携帯情報端末20は、ノートパソコンの機能を板状の筐体に取込んだタブレット(Tablet)であっても良く、タブレット端末のオペレーティングシステムとしては、ウインドウズ、マックオーエス、アンドロイド、アイオーエス等が採用されている。
ここで、実施形態の道案内システム10において上述した種々のオペレーティングシステムを採用する携帯情報端末20を用いることができる理由は、アプリケーションプログラミングインタフェース(API: Application Programming Interface)(例えば、Google Maps JavaScript API)が、携帯情報端末の種々のオペレーティングシステムと地図・写真情報提供のためのソフトウエア(例えば、Google mapsおよびSTREETVIEWのソフトウエア)との間のインタフェースとして機能するからである。
サーバは、高速で大容量のデータを処理することが可能なコンピュータである。なお、クライアントからの要求に対して何らかのサービスを提供する役割を果たす側のプログラムをサーバソフトウェアと称し、サーバソフトウェアを稼動させているコンピュータをサーバと称している。サーバは、高速、高機能なセントラルプロセッシングユニット(CPU:Central Processing Unit)またはマイクロプロセッサ、大容量ラム、大容量ロム、大容量書換可能不揮発メモリ等を備え、複雑な処理を高速でおこなうことができる。よって、多数のクライアント(スマートフォン、ノートパソコン、タブレット)がインターネット40を介してサーバにアクセスした場合であっても、高速にクライアントからの要求を受信し、瞬時に情報の処理をおこない、インターネット40を介して、処理結果をクライアントに送信する。図1に示すように実施形態では、サーバとして、目標サイトサーバ31、道案内サーバ32、地図・写真情報提供サーバ33を用いる。これらのサーバは、サーバの管理者が運用者(利用者)に賃貸するレンタルサーバであってもよく、サーバの運用者が自ら管理するものであってもよい。
目標サイトサーバ31、道案内サーバ32、地図・写真情報提供サーバ33は、携帯情報端末20(スマートフォン21、スマートフォン22、ノートパソコン23、図示しないタブレット)に対して、ウェブブラウザ(web browser)を用いて利用するワールドワイドウェブ(WWW: World Wide Web)を提供する。携帯情報端末20において使用可能なウェブブラウザとしては、例えば、インターネットエクスプローラ(Internet Explorer:登録商標)、サファリ(Safari:登録商標)、グーグルクロム(Google Chrome:登録商標)、ファイアフォックス(Firefox:登録商標)等がある。地図・写真特定情報として機能するアプリケーション・プログラム・インターフェースはこれらのウェブブラウザに対応している。
目標サイトサーバ31は、ホテル、飲食店、工場、営業所等の到達目標物を管理および/または運営する者(目標物管理・運営者)が開設するウェブサイト(website、単にサイトとも省略する)である目標サイトを携帯情報端末20に対して提供する。飲食店等であれば通常は飲食店を営む運営者がウェブサイトを開設し、貸しビル等であれば通常は建物を管理する管理者がウェブサイトを開設する。ここで、到達目標物とは道案内において到達することを目標とする建物、場所であり、目標サイトとは、目標物管理・運営者が到達目標物についての情報を提供するウェブサイトであり、目標サイトサーバ31とは、目標サイトの情報を不特定多数者がインターネット40を介してアクセスできるようにするサーバである。
地図・写真情報提供サーバ33は、地図情報と写真情報とを携帯情報端末20に対して提供する。例えば、このようなサーバは、現在、グーグル(Google:登録商標)によって運用されている。グーグルが現在提供する地図情報は、携帯情報端末20の現在の位置(携帯情報端末現在位置)と目標地点であるホテル等の位置(目標位置)とを含む所定範囲の地図情報、その地図上の携帯情報端末現在位置から目標位置までの経路表示を含むものである。経路表示は、携帯情報端末現在位置から目標位置までの経路を目立つ色線で表示する等によっておこなう。この地図は、世界の多くの地域について利用可能であり、上述した、Google maps、または、Google マップの名称で広く知られている。
また、グーグルが現在提供する写真情報は、走行する車両の屋根に配設したカメラ、または、人が持ち込んだカメラによって撮影した360°のパノラマ写真が含まれる。この写真は、世界の多くの地域(現在は主として大都市周辺)のものが利用可能であり、上述した、ストリートビュー(STREETVIEW)の名称で広く知られている。ストリートビューは、Google マップに付随して提供されている360°のパノラマ写真である。ストリートビューを用いれば、携帯情報端末20の液晶画面に、東西南北方向、上下方向に視点方位を変え、拡大または縮小して、周りの景色の写真を表示することができる。
道案内サーバ32は、アプリケーションプログラミングインタフェース (API)を用いて、地図・写真情報提供サーバ33からユーザーが必要な地図・写真情報を選択してユーザフレンドリーな道案内を携帯情報端末20のユーザーに提供する。ユーザフレンドリーな道案内の提供とは、使い勝手がよく、操作やソフトの使用方法に迷うことなく、高精度、高機能、安心感のある道案内サービスの提供を意味するものである。道案内サーバ32を管理および/または運用する者である道案内サービス提供者は、目標物管理・運営者からの予めの依頼に応じて道案内サービスを提供するようにしてもよい。このようにすれば、目標物管理・運営者の希望を入れた道案内をすることが可能となる。具体的には、携帯情報端末20からの目標サイトサーバ31のウェブサイトに対するアクセスを道案内サーバ32のウェブサイトに移して、携帯情報端末20に道案内プログラムを自動ダウンロードさせる。
携帯情報端末20に道案内プログラムを自動ダウンロードさせることによって、以下の効果を生じさせることができる。
従来(地図・写真情報提供サーバのみを使用して携帯情報端末を利用する場合)は、携帯情報端末のユーザーが携帯情報端末20を用いて直接に地図・写真情報提供サーバ33にアクセスして経路探索をしていた。しかしながら、道案内サーバ32を採用することによって従来に比べてより正確に、かつ、効率的に道案内をすることができる。例えば、対象目標物の数が膨大な数であるために、グーグルが現在提供する目標物の位置は、個々の建物の玄関の位置までを特定してはいない。従って、大きな建築物の場合には、経路探索をしても玄関の位置が目標位置として設定されておらず、玄関に到着するまで大きく迂回する経路が表示される場合もあり得る。この点、道案内サーバ32から自動ダウンロードした道案内プログラムは、個々の建物の玄関の位置を緯度・経度によって特定して携帯情報端末のユーザーを正確に目標物の玄関に案内するような経路を携帯情報端末20の液晶画面に表示させることができる。
また、従来は、経路案内中に携帯情報端末のユーザーが、現在位置における移動すべき方向(移動方向)の写真を見たい場合には、地図・写真情報提供サーバ33が提供する現在位置の360°のパノラマ写真から携帯情報端末のユーザー自らが移動方向に応じた写真を選択する操作をしなければならず、操作は極めて煩雑であった。この点、道案内サーバ32から自動ダウンロードした道案内プログラムは、経路案内とともに、自動的に現在位置における視点を移動方向とする写真を選択して携帯情報端末20の画面に表示させる。よって、携帯情報端末のユーザーは、何も操作することなく、現実に見えている移動方向の風景と液晶画面に表示される写真と対比して正しい経路上にいるのか否かを容易に判断できるので迷うことなく目標物に到達できる。
また、道案内サーバ32から自動ダウンロードした道案内プログラムは、携帯情報端末のユーザーが現在位置から目標位置に向かうに際して、事前に、携帯情報端末のユーザーが実際に視認するだろう途中の移動方向の風景の写真を短時間に連続的に携帯情報端末20の画面に表示させることができる。よって、携帯情報端末のユーザーは目標位置到達までの経路のイメージを予め脳裏に焼き付けることができる。
また、道案内サーバ32から自動ダウンロードした道案内プログラムは、携帯情報端末のユーザーが曲がり角の前に到達した際に、現在位置の写真とともに、曲がり角の先の移動すべき方向から見た写真を併せて自動的に携帯情報端末20の画面に表示(例えば、現在位置の写真画像の中に曲がり角の先の画像を小窓画像として表示)させることができる。よって、携帯情報端末のユーザーは曲がり角においても戸惑うことがない。すなわち、事前に表示された曲がり角を曲がった後の写真と曲がった後に現実に視認する風景とを対比して案内ルート(道案内された経路)に沿って正しい経路を移動していることを確認することができる。
また、道案内サーバ32から自動ダウンロードした道案内プログラムは、携帯情報端末のユーザーが案内ルートから外れた場合においては、最初の予定経路から外れたことを携帯情報端末20の画面に表示させ、その地点から目標位置までの新しい経路と移動方向の写真とを携帯情報端末20の画面に表示させることができる。
さらに、携帯情報端末20が道案内サーバ32から自動ダウンロードした道案内プログラムは、道案内のサービスを受けて目的を達した後は、通常のウェブサイトの閲覧におけると同様に、携帯情報端末20からその履歴は消去されるので、道案内プログラムのダウンロードの手間が省けるのみならず、道案内プログラムの消去の手間も省ける。
(道案内システムの各構成部の動作概要)
図2は、道案内システムの各構成部間における処理を模式的に示す図である。
図2を参照して、上述したような道案内プログラムの奏する効果を生じる各構成部の動作概要について説明をする。
ステップST1は、道案内サービス申込手続等の目標サイトサーバ31と道案内サーバ32における事前準備である。この事前準備は、道案内サーバ32が道案内サービス自体を事業目的に運用される場合に必要な手続きである。この場合は、道案内サーバ32が対価を得る顧客は、目標サイトサーバ31側となる。そして、携帯情報端末20のユーザーからの道案内の依頼は、目標サイトサーバ31を介して道案内サーバ32が受信する。一方、目標サイトサーバ側から対価を得ず、道案内サーバ32が提供する宣伝等から対価を得るような場合には、必ずしもこの手続きは必要ではない。この場合には、一般的には、道案内サーバ32の利用は、携帯情報端末20のユーザーのみならず、すべてのユーザーに解放されることとなる。
ステップST1の処理は、目標物管理・運営側と道案内サービス提供側との間の処理である。
目標物管理・運営者は、道案内サービス提供者に対して道案内サービスを受けることの申込みの手続(道案内サービス申込手続)をおこない、道案内サービス提供者は、目標物管理・運営者が道案内サービスを利用できるように処理をおこなう。その処理の一部は、人手によりおこなうようにしてもよい。ここで、目標サイトサーバ31の運用者は、目標物管理・運営者である。上述したように、目標物が貸しビル等の不動産自体の場合には目標サイトサーバ31の運用者は目標物の管理者であることが多く、目標物が貸しビル等を借りて営業をする店舗の場合には目標サイトサーバ31の運用者は目標物の運用者であることが多い。道案内サーバ32の運用者は道案内サービス提供者である。ステップST1の処理が完了すると携帯情報端末20のユーザーは道案内のサービスを受けることができるようになる。目標物管理・運営者と道案内サービス提供者との間におけるステップST1の処理の詳細については後述する(図10を参照)。
ステップST2は、携帯情報端末20が、道案内を希望する目標物(例えば、○○ホテル)の目標サイトにアクセスする処理である。
目標サイトは、道案内サーバ32へリンクするタブ(例えば、「道案内ボタン」)を有している。目標サイトサーバ31の運用者は、携帯情報端末20のユーザーが容易に目標サイトにアクセスできるように、ウェブブラウザを用いて建物の名称、店舗の名称を検索したときの入り口となるウェブサイト(ポータルサイト)を目標サイトにすることが、速やかに道案内サービスを提供するためには望ましい。
ステップST3は、サイトTOP画面情報を携帯情報端末20に自動ダウンロードする処理である。
サイトTOP画面とは、ポータルサイトにアクセスしたときに携帯情報端末20の液晶画面に表示される画面である(図2中の画面表示を参照)。サイトTOP画面の中に「道案内ボタン」が配されている。なお、「道案内ボタン」は、複数ページに複数個埋め込んだ方がユーザーの利便性が高まるところから、目標物管理・運営側サイト内であれば、複数個を埋め込むようにしてもよい。また、ユーザーが目標物管理・運営側サイトにアクセスし、「道案内のボタン」を押したタイミングで、利用規約への同意をする旨の図示しない画面表示をして、同意プロセスを追加するようにしても良い。同意を求める表示の内容は、例えば、「本サービスは、道案内サービスの提供者である△△からの提供であり、当社(○○ホテル)は関係ない」旨、「本サービスを利用して発生した損害などについては、当社は一切の責を負わない」旨等である。
ステップST4は、サイトTOP画面の「道案内ボタン」をクリックにより道案内を開始する処理である。
「道案内ボタン」のクリックにより処理は、目標サイトサーバ31から道案内サーバ32に移る。
ステップST5は、道案内サーバ32が地図・写真情報提供サーバ33にアクセスする処理である。
ステップST6は、道案内サーバ32が地図・写真情報提供サーバ33のウェブサイトにアクセスすることによって、地図・写真情報を道案内サーバ32に自動ダウンロードする処理である。
ステップST5、ステップST6の処理によって道案内サーバ32は、地図・写真情報提供サーバ33から道案内サーバ32がアプリケーションプログラミングインタフェース(API)によって特定する地図・写真情報を得る。
ステップST7は、携帯情報端末20が道案内サーバ32から道案内のプログラムを自動ダウンロードする処理である。
道案内のプログラム(道案内プログラム)は、地図・写真情報提供サーバ33と携帯情報端末20とのインタフェースのためのアプリケーションプログラミングインタフェース(API)を含むプログラムである。どのように、アプリケーションプログラミングインタフェースを組み合わせて用いるかは道案内サーバ32が道案内のプログラムにおいて特定する。道案内プログラムによって制御される携帯情報端末20は、アプリケーションプログラミングインタフェースを使うことによって、携帯情報端末20から地図・写真情報提供サーバ33に要求する地図・写真情報の内容を特定することができる。アプリケーションプログラミングインタフェースとして、Google Maps APIを使うことによって、ウェブサイトにグーグルマップをカスタマイズして表示するサービスを提供することができる。
ステップST8は、携帯情報端末20が地図・写真情報提供サーバ33のウェブサイトにアクセスする処理である。
携帯情報端末20は、刻々と変化する携帯情報端末20の現在地情報(携帯情報端末20のエンドユーザーの現在地情報でもある)に応じて、道案内プログラムが指定する内容の地図・写真情報を地図・写真情報提供サーバ33に要求する。
ステップST9は、携帯情報端末20が地図・写真情報提供サーバ33のウェブサイトにアクセスすることによって、地図・写真情報を携帯情報端末20に自動ダウンロードする処理である。
ステップST8、ステップST9の処理によって携帯情報端末20は、地図・写真情報提供サーバ33から地図・写真情報を得る。
ステップST2ないしステップST9の処理の詳細については後述する(図13を参照)。実施形態においては、道案内プログラムは、指定する表示方法に従い携帯情報端末20は、携帯情報端末20の液晶画面に表示させる。また、道案内プログラムは、携帯情報端末20のMPUに測位機構を制御させて、現在位置を測位して道案内のための画面を順次、液晶画面に表示させる。
実施形態においては、携帯情報端末20が検索した案内ルート(ルート検索の結果、地図上に表示されたルート)から一定距離以上外れた場合には、その外れた現在位置から再び目標の場所へ行くための道案内を開始する例外処理であるリロード処理をおこなう。リロード処理の詳細については後述する(図14、図15を参照)。
図3は、実施形態の道案内の方法と従来知られている道案内の方法との差違を模式的に示す図である。
図3の上段の図は、従来の道案内の方法を示す図である。図3の下段の図は、実施形態の道案内の方法を示す図である。図3の人の顔が記載されている部分はエンドユーザーが操作する必要がある処理に対応する。従来の道案内の方法によれば、目標サイトにアクセスし、目標位置住所を確認する。目標サイトのウェブサイトから抜けた後、目標位置住所に行くためのアプリケーションプログラムを起動し(例えば、Googleマップのウェブサイトにアクセスする)、目標位置住所を入力し、ルート検索をし、携帯情報端末に案内ルートを表示させる。一方、実施形態の道案内の方法によれば、目標サイトにアクセスし、目標サイトの「道案内ボタン」をクリックし、それだけで、携帯情報端末に案内ルートを表示している。それに加えて、種々の道案内サービスを携帯情報端末の操作をすることなく受けることができる。そして、後述するルートから外れたときにおけるような、例外的な特別のサービスを受ける場合には携帯情報端末20の画像表示面上のソフトウエアボタンをクリックすればよい。
すなわち、図3に示すように従来の道案内の方法では、携帯情報端末の操作が煩雑である。一方、実施形態の道案内の方法では、従来の道案内方法におけるようなアプリケーションプログラムのダウンロード、アプリケーションプログラムの起動、目標位置の入力、携帯情報端末の操作は一切不要である。すなわち、目標サイトにアクセスして「道案内ボタン」をクリックするだけであるので、携帯情報端末の操作に不案内のエンドユーザーであっても携帯情報端末20の最小限の操作で道案内の利益を受けられる。
(道案内中において携帯情報端末の液晶画面に表示される画像)
携帯情報端末20、目標サイトサーバ31、道案内サーバ32、地図・写真情報提供サーバ33の各構成部における処理の詳細について説明するに先立ち、道案内中において携帯情報端末20の液晶画面に表示される画像についてまず説明をする。以下においては、地図・写真情報提供サーバ33としてGoogle サーバを用い、道案内プログラムにおいてはGoogle Maps APIを用いる場合における実施形態の一例を示す。
図4は携帯情報端末20の画像表示面である液晶画面に表示される画像に注釈をつけて説明する図である。
携帯情報端末20が、道案内プログラムの実行を開始すると、その携帯情報端末のユーザーは、特に何も操作をすることなく、単に携帯情報端末の液晶画面を見ながら移動するだけで目標位置に到達することができる。すなわち、液晶画面には道案内に必要な情報だけが表示され、道案内に不要な情報は表示されない。このために、実施形態の道案内プログラムを初めて使用するエンドユーザーでも、また日本語のわからないエンドユーザーでも直感で使うことができる。
具体的には、実施形態の道案内プログラムは以下の(1)ないし(9)に記載する、従来にはない新規な特徴を有する。
(1)携帯情報端末20の下段画面には地図情報に基づく地図画像(グーグルマップ画像)が表示され、上段画面には写真情報に基づく写真画像(ストリートビュー画像)が表示される。このように地図画像とストリートビュー画像とを一画面に同時に表示することによって、ペグマンを移動させてマップ画像からストリートビュー画像に切り替えるという通常のGoogleマップの使用における不便さを解消できる。
(2)「ガイダンス欄」が液晶画面に設けられ「右折する」など、次に進む方向をテキストにて表示する。この表示は多言語対応可能とされている。このような、通常のGoogleマップにはない機能によって道案内の利便性はより向上する。
(3)「ルート確認ボタン」が液晶画面に設けられ、「ルート確認ボタン」をクリックすることによってストリートビューの画像を使い、現在位置から目標位置までの移動方向から見た写真をアニメーションの形態で表示する(図5を参照)。この「ルート確認ボタン」によって、これから見る風景を事前に知ることができるという、通常のGoogleマップにはない機能によって利便性はより向上する。
図5は、「ルート確認ボタン」をクリックしたときの携帯情報端末20の液晶画面に表示される画像を説明する図である。
図5の(A)は、「ルート確認ボタン」をクリックする前の画像である。ストリートビュー画像には、現在、携帯情報端末20が位置するである現在位置のストリートビュー画像が表示される。携帯情報端末20の下の画面は、ルート確認が作動停止しているときの「ルート確認ボタン」のアイコンの拡大図である。(A)の下部の図は「ルート確認ボタン」のアイコンの拡大図であり、「ルート確認ボタン」をクリックする前のアイコンであり、作動停止中を表示する。
図5の(B)は、「ルート確認ボタン」をクリックし、ルートアニメーションが作動開始した直後の液晶画面上の画像である。(B)の下部の図は「ルート確認ボタン」のアイコンの拡大図であり、「ルート確認ボタン」をクリックした直後のアイコンであり、作動中を表示する。
図5の(C)は、ルートアニメーションが作動中であり、目標地までの案内ルート上に配置されるストリートビュー(SV)画像が再生中の液晶画面上の画像である。「ルート確認ボタン」をクリックした後の液晶画面上には、順次、時系列で目標地点に到達するまでの移動方向の風景のストリートビュー画像が表示される。携帯情報端末20の下の画面は、「ルート確認ボタン」のアイコンの拡大図である。(C)の下部の図は「ルート確認ボタン」のアイコンの拡大図であり、「ルート確認ボタン」をクリックした後のアイコンであり、作動中を表示する。
このように、画面右上にある「ルート確認ボタン」をクリックすることで、携帯情報端末20の液晶画面上に現在位置から目標位置までの案内ルート上にあるストリートビュー画像が自動で再生される。これによりエンドユーザーは、移動を開始する前の段階でどのように進めばよいかを実際の景観を確認してから(イメージしてから)、過去に訪問したことがない場所でも安心して移動を開始することができる。また、移動中に不安になった場合にも、「ルート確認ボタン」をクリックすることで、携帯情報端末20の液晶画面上にクリックをした現在位置から目標位置までの案内ルート上にあるストリートビュー画像が自動で再生される。
(4)指による携帯情報端末20の液晶画面の操作をしない場合には、道案内プログラムによって移動方向の写真と地図が予め選択され表示され、指による携帯情報端末20の液晶画面の操作(ピンチイン/アウト)により、液晶画面の画像を縮小/拡大することができる。ここで、「ピンチアウト機能」とは、液晶画面中の画像(ストリートビュー画像)を2本の指で縮小し、細部を詳細に確認することができる機能である。「ピンチイン機能」とは、液晶画面中の画像を2本の指で拡大する機能であり、風景の全体を見ることができる機能である。「スワイプ機能」とは、指で画面を押さえながら上下左右に画面を動かすことができる機能である。
ピンチイン/アウト・スワイプ機能は、携帯情報端末20が有する一般的な機能であるので、携帯情報端末20が備える機能としてこれらを利用できる。そして、実施形態においては、エンドユーザーの混乱を防止するめに、ピンチイン/アウト・スワイプしても液晶画面を操作している指を離すだけ、道案内プログラムが選択した移動方向の写真画像に自動で戻るようにしている。
図6は、スワイプ機能について説明する図である。
図6(A)は、道案内中のスワイプしないときの携帯情報端末20の液晶面に表示される画像を示す図である。図6(B)は、道案内中に携帯情報端末20の液晶面を指で押さえながら右にスワイプした場合の画面を示す図である。左側のストリートビュー画面が表示される。図6(C)は、道案内中に携帯情報端末20の液晶面を指で押さえながら左にスワイプした場合の画面を示す図である。右側のストリートビュー画面が表示される。このような、スワイプ機能を用いてエンドユーザーは移動方向正面画像だけでは確認しにくい場所でも、左右の360°の画像によって、移動方向が正しいかどうかの確認・認識を行うことができる。またエンドユーザーの移動方向認識の混乱を避けるため、どんなにスワイプしても画面から指を離すだけで正しい移動方向正面画像に自動で戻るようにしている。
(5)正しい移動方向を示す「移動方向矢印」をストリートビュー画面上に表示する。「移動方向矢印」の表示によってストリートビュー画像と移動方向との関係を確認できる。
(6)ストリートビュー画像は道案内プログラムによって自動選択されるので、通常のストリートビューを使うときのように、案内ルート上にペグマンを動かす必用がない。よって、グーグルが提供するGoogle マップでは「アイコン:ペグマン」をマップ上で移動させるとストリートビューが起動するという機能があるが、ペグマンを誤操作した場合に混乱が生じることを防止するためにペグマンを表示しないようにしている。しかしながら、道案内プログラムが、360°のパノラマ写真の中から道案内に最も適した場所の移動方向のストリートビュー画像を選択するので、ペグマンをマップ画像に配置するという面倒な、Googleマップの機能を利用することなく、自動的に必要な写真が自動で得られる。
さらに、図3中には示されていないが、以下の機能を有している。
(7)ターンポイントオートプレイ機能(TPAP機能)と称する機能を実装している(図7を参照)。この機能は、エンドユーザーを曲がり角で迷わせないために曲がるポイントまで来たときに自動で曲がった先までのストリートビュー画像を自動で再生する機能である。
図7は、曲がった先の画像を自動で再生するターンポイントオートプレイ機能を示す図である。
図7(A)は、曲がり角の前のポイントの表示面画像である。図7(B)は、曲がり角を曲る途中の表示面画像である。図7(C)は、曲がり角を曲る途中の表示面画像(図7(B)よりもさらに角度を回した画像)である。図7(D)は、曲がり角の先のポイントの表示面画像である。図7(B)ないし図7(D)のストリートビューの画像は、曲がり角の前のポイントの画像と同じ大きさに表示してもよく、曲がり角の前のポイントの画像の中の小窓に表示するようにしてもよい。
(8)ストリートビュー画像のない道ではストリートビューを非表示としてエンドユーザーが混乱しないようにしている(図8を参照)。Googleストリートビューは、日々にストリートビュー画像を得られる範囲が拡大するとともに、最新のものに更新を続けているが、場所によってはまだストリートビュー画像が公開されていない場所もある。実施形態の道案内プログラムでは、ストリートビュー画像が公開されていない場所にくると、液晶画面上部のストリートビュー画像は暗転し、再度画像を取得できるまでいったん非表示状態とする。一方、ストリートビュー画面が非表示になっても案内ルートと地図はそのまま表示される。よって、ストリートビューとグーグルマップの2つの情報がお互いに補完しながら、エンドユーザーに対しては引き続き道案内を提供し続けることができる。
図8は、ストリートビュー画像のない道(ルート)における画像とストリートビュー画像のある道における画像とを対比する図である。
図8(A)は、ストリートビュー画像のない道における画像であり、図8(B)は、ストリートビュー画像のある道における画像である。ストリートビュー画像のない道に入るとストリートビューの画像は暗転し、「ストリートビューの画像がありません」とメッセージが表示され、グーグルマップだけが表示される。その後、再び、ストリートビュー画像のある道に入るとストリートビューの画像は表示される。
(9)エンドユーザーが、当初の案内ルートから外れた場合でも、自動で検知し、再検索(Re-search)を促す機能を実装している(図9を参照)。例えば、目標位置へ移動途中のエンドユーザーが途中で経路から外れ他に立ち寄っても、また違う方向に進んでも、エンドユーザーの現在いる地点を自動検出した後、再検索(Re-search)を促し、その地点から何度でも道案内(フォロー)をすることができる。
図9は、当初の案内ルートから外れてしまった場合に携帯情報端末20に表示される画像を示す図である。
エンドユーザーが案内ルートから外れた場合には自動で検知し、再検索(Re-search)を促す表示が液晶画面にされる。そして、グーグルマップ上にエンドユーザーの現在位置が表示される。
エンドユーザーが「再検索」をクリックすると、何度でも、エンドユーザーの現在位置から当初の目標位置まで道案内プログラムは道案内をする。
以上の(1)〜(9)の機能は、すべて、スマートフォン(携帯情報端末)のソフトウエアとGoogle マップ」および「ストリートビュー」(地図・写真情報提供ソフトウエア)とのインタフェースとして機能する実施形態の道案内プログラムによって実現されるものであって、Googleが提供する「Google マップ」、「ストリートビュー」のみでは実現できない機能である。
(道案内処理フローの概念図)
<道案内処理フローの概念図(1)>
図10は、目標物管理・運営者と道案内サービス提供者との間におけるフローの概念図(道案内処理フローの概念図(1))である。
図10に記載された用語の意味について説明をする。「道案内サービス受益側の処理」とは、道案内サービスを受ける側のおこなう処理を言い、道案内サービスを受ける者(自然人)がおこなう「エンドユーザー(携帯情報端末のユーザー)の処理」とハードウエアデバイスである携帯情報端末20がおこなう「携帯情報端末(iPhone/iPad/Android)の処理」が含まれる。
「目標物管理・運営側の処理」とは、目標物管理・運営する側のおこなう処理を言い、担当者(自然人)がおこなう「担当者の処理」とハードウエアデバイスである目標サイトサーバ31がおこなう「目標サイトサーバの処理」が含まれる。「サイトの表示内容」とは、サイトに表示される内容をいう。
「道案内サービス提供側の処理」とは、道案内サービスを提供する側のおこなう処理を言い、道案内サイト自体を管理するためのツールによる「管理ツール(サイト)の処理」と道案内サービスを提供する「道案内サーバの処理」が含まれる。「道案内サーバの処理」は道案内サーバ32においておこなう道案内の処理であるが、「管理ツール(サイト)の処理」は道案内サービス提供側から見た顧客である店舗(例えば、○○ホテル)を管理ツール(サイト)に登録・編集・削除する処理である。管理ツール(サイト)は、道案内サーバ32においてもよく、別のコンピュータにおいてもよい。
「地図・写真情報提供サーバの処理」とは、実施形態の道案内に用いる地図・写真情報を提供するサーバである地図・写真情報提供サーバ33(実施形態ではGoogleサーバ)のおこなう処理を言う。
図10に沿って、目標物管理・運営者と道案内サービス提供者との間における処理について説明をする。
ステップST101は目標物管理・運営側の担当者がおこなう処理である。目標物管理・運営側の担当者は道案内サービス提供側に道案内サービスの申込みをする(道案内サービス申込処理)。申込みは、目標物管理・運営側の担当者が道案内サービス提供側の担当者に文書で連絡して、道案内サービス提供側の担当者が管理ツール(サイト)に登録するようにしてもよく、目標物管理・運営側の担当者が直接に管理ツール(サイト)に登録できるようにしてもよい。
ステップST102は、管理ツール(サイト)の処理である。管理ツール(サイト)は、申込みを受け付ける(道案内サービス申込受付処理)。
ステップST103は、管理ツール(サイト)の処理である。管理ツール(サイト)は、顧客サイトに申込み内容を登録する(申込内容登録処理)。
登録においては、管理ツール(サイト)がログイン画面、顧客一覧画面、顧客登録/編集画面、店舗一覧画面、店舗登録/編集画面、テスト画面、スクリプト画面の各々が表示できるようにデータベースを形成する(データベース形成処理)。
図11は、ログイン画面、顧客一覧画面、顧客登録/編集画面、店舗一覧画面を示す図である。
図12は、店舗登録/編集画面、テスト画面、スクリプト画面を示す図である。
ログイン画面とは、管理ツール(サイト)にアクセスした際に表示される画面である(図11(A)を参照)。
顧客一覧画面とは、ログイン後に表示される画面であり、登録済みの顧客を一覧表示する(図11(B)を参照)。
顧客登録/編集画面とは、顧客一覧画面から表示される画面であり、本画面にて顧客を登録/編集する(図11(C))。
店舗一覧画面とは、顧客一覧画面から表示される画面であり、指定された顧客の店舗を一覧表示する(図11(D))。
店舗登録/編集画面とは、店舗一覧画面から表示される画面であり、本画面にて店舗を登録/編集する(図12(A))。
テスト画面とは、店舗登録/編集画面から表示される画面であり、指定された出発地から店舗の位置までの道案内をシミュレートする(図12(B))。
スクリプト画面とは、店舗一覧画面から表示される画面であり、道案内プログラム用のスクリプトを表示する(図12(C))。
ステップST104は、道案内サーバ32の処理である。道案内サーバ32は、埋め込み用スクリプト生成をする(埋め込み用スクリプト生成処理)。
埋め込み用スクリプトとは、アプリケーションソフトウエアの動作内容を台本のように記述し制御するための簡易な言語であって目標サイトのウェブページにリンク先の別のページ埋め込むためのものである。例えば、目標ホテルサーバが表示するウェブサイトのページ内に「道案内ボタン」の表示をして別のページにリンクさせるためのスクリプト、店舗の入り口の緯度/経度の情報に関するスクリプト等である。
ステップST105は、管理ツール(サイト)の処理である。管理ツール(サイト)は、目標サイトサーバ31のウェブサイトをダウンロードして表示し、埋め込み用スクリプトが適切であることを確認する(ダウンロードデータ表示処理)。
ステップST106は、管理ツール(サイト)の処理である。管理ツール(サイト)は目標物管理・運用側に登録完了を通知する(登録完了通知処理)。
管理ツール(サイト)の運用担当者が目標物管理・運用側に登録完了をメールで知らせるようにしてもよい。
ステップST107は、目標物管理・運用側の担当者がおこなう処理である。担当者は登録完了の通知を受け取る(登録完了通知受取処理)。
ステップST108は、目標物管理・運用側の担当者が登録完了通知受取処理後におこなう処理である。担当者は管理ツール(サイト)にアクセスする(管理サイトアクセス処理)。
ステップST109は、目標物管理・運用側の担当者がおこなう処理である。担当者は管理ツール(サイト)の埋め込み用スクリプトのダウンロードデータを表示する画面を表示する(ダウンロードデータ画面表示処理)。
ステップST110は、目標物管理・運用側の担当者がおこなう処理である。担当者は埋め込み用スクリプトのダウンロードを要求する(埋め込み用スクリプトダウンロード要求処理)。
ステップST111は、管理ツール(サイト)の処理である。管理ツール(サイト)は埋め込み用スクリプトのダウンロード要求を受信する(埋め込み用スクリプトダウンロード要求受信処理)。
ステップST112は、道案内サーバ32の処理である。道案内サーバ32は、埋め込み用スクリプトをダウンロードする(埋め込み用スクリプトダウンロード処理)。
ステップST113は、目標物管理・運用側の担当者がおこなう処理である。担当者は埋め込み用スクリプトのダウンロードデータを受信する(埋め込み用スクリプトダウンロードデータ受信処理)。
ステップST114は、目標物管理・運用側の目標サイトサーバ31がおこなう処理である。目標サイトサーバ31においてウェブサイトに埋め込み用スクリプトを埋め込む(埋め込み用スクリプト埋込処理)。
ステップST115は、目標物管理・運用側の目標サイトサーバ31が提供する目標サイトにアクセスして表示する(目標サイトアクセス表示処理)。
ステップST115の処理によって埋め込み用スクリプトを埋め込んだウェブサイトが適切に表示されることが確認できる。
以上のステップST101からステップST115の処理によって携帯情報端末20のユーザーが目標サイトにアクセスしウェブサイトの画面の「道案内ボタン」をクリックすると道案内サーバ32にリンクするまでの手順をおこなえるようにするための準備が完了する。すなわち、目標管理・運営側と道案内サーバ運営側との間の取り決めの手続き完了後に道案内サーバ運営側が道案内のサービスをエンドユーザーに提供する。
<道案内処理フローの概念図(2)>
図13は、道案内中の携帯情報端末20と目標サイトサーバ31と地図・写真情報提供サーバ33とにおける処理フローの概念図(道案内処理フローの概念図(2))である。
図13に沿って、道案内中の携帯情報端末20と目標サイトサーバ31と道案内サーバ32と地図・写真情報提供サーバ33とにおける処理について説明をする。
以下のステップST201ないしステップST209の処理は、エンドユーザーが目標サイトにアクセスしてから、道案内プログラムを携帯情報端末20に配信するまでの処理である。
ステップST201はエンドユーザー(携帯情報端末のユーザー)がおこなう処理である。エンドユーザーは携帯情報端末20を操作してウェブブラウザを起動し、目標サイトサーバ31にアクセスする(目標サイトアクセス要求処理)。
ステップST202は目標サイトサーバ31がおこなう処理である。目標サイトサーバ31は、アクセス要求を受信する(目標サイトアクセス要求受信処理)。
ステップST203は目標サイトサーバ31がおこなう処理である。目標サイトサーバ31は、サイトTOP画面を携帯情報端末20が起動したブラウザに表示させる(サイトTOP画面表示処理)。
ステップST204は目標サイトサーバ31がおこなう処理である。目標サイトサーバ31は、サイトTOP画面中の「道案内ボタン」を携帯情報端末20が起動したブラウザに表示させる(道案内ボタン表示処理)。
ステップST205はエンドユーザーがおこなう処理である。エンドユーザーは、携帯情報端末20が起動したブラウザに表示された「道案内ボタン」をクリックする(道案内ボタンクリック処理)。
ステップST206は携帯情報端末20がおこなう処理である。ステップST205の「道案内ボタン」のクリックを検出後、すぐに携帯情報端末20のMPUは、測位機能を制御して携帯情報端末20の現在位置の緯度・経度を測位させる(現在地情報取得処理)。
携帯情報端末20は、「道案内ボタン」のクリックにともない携帯情報端末20の現在位置の緯度・経度を目標サイトサーバ31に知らせる。このようなサイト画面をクリックして別のサイトサーバにリンクする技術は公知技術である。
ステップST207は目標サイトサーバ31がおこなう処理である。目標サイトサーバ31は、サイトTOP画面中の「道案内ボタン」がクリックされたことよって、携帯情報端末20を道案内サーバ32に接続させて、携帯情報端末20の画面表示を用いる道案内をする要求を送信する(道案内表示要求送信処理)。
ステップST208は道案内サーバ32がおこなう処理である。道案内サーバ32は道案内表示要求を受信する(道案内表示要求受信処理)。
ステップST209は道案内サーバ32がおこなう処理である。道案内サーバ32は携帯情報端末20に対して、携帯情報端末の液晶画面にどのような表示をして、どのような方法(手順)で道案内するかについての情報を含むIF情報(道案内プログラム)を配信する(IF情報配信処理)。
IF情報には表示実行スクリプト、道案内の実行スクリプト、案内ルートから外れた場合の実行スクリプトも含まれる。このIF情報は、携帯情報端末20を制御するための携帯情報端末のオペレーティングシステム上で地図・写真情報提供サーバ33(Googleサーバ)からの地図・写真情報を所定の形式、順序でダウンロードするように指示する道案内プログラムである。
ここで、道案内プログラムについて説明する。この道案内プログラムは、地図・写真特定情報として機能するJavaScriptで記載されるGoogle Maps JavaScript APIの組み合わせによって構成されるとともに、携帯情報端末20のハードウエア、ソフトウエアを制御する命令によって構成される。地図・写真特定情報として機能するJavaScriptで記載されるGoogle Maps JavaScript APIは、携帯情報端末20が地図・写真情報提供サーバ33から取得する情報を特定する。ハードウエア、ソフトウエアを制御する命令は、例えば、携帯情報端末20にどのようなタイミングで測位をさせ、携帯情報端末20にどのようなタイミングで地図・写真情報提供サーバ33のアクセスをさせるか、画像をどのような順番で液晶画面に表示さえるか、等を制御する命令である。
道案内サーバ32は、道案内に必要な地図・写真特定情報の抽出もIF情報の配信に先立ちステップST209においておこなう。地図・写真特定情報の抽出は、携帯情報端末20でおこなうには処理が複雑であり、処理に時間を要するので、このような処理は道案内サーバ32がおこなうようにしている(図16を参照)。その理由は、実施形態の処理の全部を携帯情報端末20でおこなうとすると、性能が低い携帯情報端末20では処理できない事態が発生するとともに、容量の大きい道案内プログラムを携帯情報端末20にダウンロードしなければならないという不便が伴うからである。以上のように、道案内サーバ32と携帯情報端末20とに処理を分担させることにより、図3に図示するようなユーザフレンドリーな道案内を実現している。
以下のステップST210ないしステップST221は携帯情報端末20が道案内の処理を開始するための携帯情報端末20と地図・写真情報提供サーバ33における初期処理である。初期処理の内容は、携帯情報端末20を中心にすると以下である。
(1)道案内サーバ32から、道案内プログラムをダウンロードする処理(IF情報受信処理)。
(2)Google Maps JavaScript APIの取得の処理(Google Maps JavaScript API取得処理)。
(3)携帯情報端末20がおこなう処理を特定する命令の記憶(命令記憶処理)。例えば、地図、出発位置からの目標位置までの案内ルート、ストリートビューを地図・写真情報提供サーバ33(Googleサーバ)にアクセスして得る命令、携帯情報端末20の液晶画面上に地図と写真の2つの画像を表示する命令、案内ルートに沿ってストリートビューを早回しで自動再生する命令等。
なお、道案内プログラムは携帯情報端末20のオペレーティングシステムを土台として働くので携帯情報端末20に特有な機能であるスワイプ機能、ピンチアウト/ピンチイン機能は保障される。
ステップST210ないしステップST213はGoogle Maps JavaScript APIの使用制限を超えない範囲で地図を読み込む処理である。ウェブサイトからグーグルマップを読み込む場合、Google Maps JavaScript APIを使用した地図の読み込みは、同じIPアドレスの機器からのアクセスであれば1日あたり所定回数(例えば、営利目的の場合には25,000件/1日)までに制限されている。すなわち、地図の読み込みのためのGoogle Maps JavaScript APIを要求する回数を地図・写真情報提供サーバ33(Googleサーバ)で数えて、所定回数以下であると判定するときだけステップST213の処理を進めるようにしている。
ステップST210は携帯情報端末20がおこなう処理である。携帯情報端末20はIF情報を受信する(IF情報受信処理)。IF情報(道案内プログラム)に従って、携帯情報端末20が制御され、グーグルマップ・ストリートビューをどのような形式でダウンロードするかが制御される。
ステップST211は、道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20は、Map/SV情報やルート情報を取得するためにGoogle Maps JavaScript APIを要求する(Google Maps JavaScript API要求処理)。
ステップST212は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)はGoogle Maps JavaScript APIを携帯情報端末20に返信する(Google Maps JavaScript API返信処理)。
ステップST213は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20はGoogle Maps JavaScript APIを取得する(Google Maps JavaScript API取得処理)。
携帯情報端末20はGoogle Maps JavaScript APIを取得することによって、Map/SV情報やルート情報を取得することが可能となる。
ステップST214は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20は、現在位置において移動方向に見える風景の写真をストリートビューが得られる位置および360°パノラマ写真の回転角度によって特定した画像情報(Map/SV情報)を地図・写真情報提供サーバ33(Googleサーバ)に要求する(Map/SV情報要求処理)。
すなわち、道案内プログラムに含まれている地図・写真特定情報をステップST214で用いる。
ステップST215は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)はMap/SV情報によって指定される写真情報(写真の画像情報)を生成する(Map/SV情報生成処理)。
ステップST216は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)はMap/SV情報によって指定される写真情報を携帯情報端末20に返信する(Map/SV情報返信処理)。
ステップST217は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20はMap/SV情報によって指定される写真情報を受信する(Map/SV情報受信処理)。
ステップST218は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20は、出発位置と目標位置とを送信してルート(経路)検索の結果の情報である案内ルート情報を要求する(ルート情報要求処理)。
ステップST219は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)は出発位置と目標位置とによって特定される案内ルート情報を生成する(ルート情報生成処理)。
ステップST220は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)は案内ルート情報を携帯情報端末20に返信する(ルート情報返信処理)。
ステップST221は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20は案内ルート情報を受信する(ルート情報受信処理)。
ステップST222は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20は、ステップST213において取得したGoogle Maps JavaScript API、ステップST217において受信したMap/SV情報、ステップST222において受信した案内ルート情報によって液晶画面上の位置および範囲並びに表示内容が特定される画像を液晶画面に表示する(表示(START)処理)。
具体的には、液晶画面に丁度一致する大きさの画像であって、画面上段にストリートビューの現在位置における所定回転角度の写真の画像、画面下段に地図の画像、地図の内部に案内ルート情報に基づく案内ルートを示す色つきの太い線の画像を表示する。
なお、エンドユーザーが「ルート確認ボタン」をクリックした場合には、道案内プログラムが携帯情報端末20の画面上段のストリートビューの写真の画像を順次、自動的にルートに沿った順番で切り替えさせる。ここで、携帯情報端末20は、案内ルートに沿った複数個のストリートビューの写真の画像データを携帯情報端末20のメモリに予め保存しておいて順次、画像表示面に表示してもよいが、所定時間毎に、案内ルートに沿った地図・写真特定情報が指定する写真を順次、地図・写真情報提供サーバ33から得て表示してもよい。
ステップST223はエンドユーザー(携帯情報端末のユーザー)がおこなう処理である。エンドユーザーは、必要に応じて携帯情報端末20の液晶画面の写真の画像を確認し、周りの風景と対比して正しいルート上を移動しているか否かを判断する(画面確認処理)。
以下のステップST224ないしステップST231は道案内の処理におけるエンドユーザーが移動中の処理である。ステップST225ないしステップST230の処理は、携帯情報端末20がおこなう処理であり、携帯情報端末20は所定時間毎の割り込み処理をおこなう。測位を所定時間毎にしてストリートビューの写真の更新を所定時間後におこなう。所定時間は、移動モードにより異なり、徒歩モードの場合には歩く速度に応じた長い時間とし、車モードの場合には走行速度に応じた短い時間とする。曲がり角における曲がり角先の画像表示の処理、「ルート確認ボタン」をクリックしたときの処理、案内ルートから外れた時の処理等の例外処理は、その原因となるイベントが生じたときに、それらの例外処理のルーチンに処理を移し対処する。ステップST224、ステップST231の処理は携帯情報端末のユーザーがおこなう行動である。移動中の処理の内容は、以下である。なお、実施形態においては、徒歩モードで使う場合について主に説明をおこなうので、例えば、客用入口のドアがたくさんあるような大きなホテルでは、フロントに直近の客用入口を到達すべき目標位置に設定するのみならず、複数の候補の客用入口のドアの中でも、エンドユーザーが道案内を要求した時点における現在位置から最短時間で到達できる客用入口のドアを目標位置として自動設定するようにしてもよい。具体的には、目標位置は以下のようにして自動設定する。エンドユーザーが道案内を要求した時点における現在位置(緯度・経度)から複数の候補の客用入口のドアの位置(緯度・経度)の各々までの複数個のルート検索をGoogle Maps JavaScript APIを用いて自動的におこなう。そして、その複数個のルート検索の中で、最も移動距離が短いルートに対応する客用入口のドアを目標位置として自動設定する。
ステップST224はエンドユーザーが移動中の状態である。
ステップST225は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは、測位機能を制御して携帯情報端末の現在位置の緯度・経度を測位させる(現在地情報取得処理)。MPUのタイマー割り込み処理によって予め定める所定時間毎に測位をおこなう。
ステップST226は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは、案内ルート上のエンドユーザーの現在位置が、移動方向に向かい次のストリートビューの配されている位置(次の位置)を通過したことを検出すると、次の位置のストリートビューの情報(Map/SV情報)を地図・写真情報提供サーバ33(Googleサーバ)に要求する(Map/SV情報要求処理)。
ステップST227は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)はMap/SV情報によって指定される写真情報を生成する(Map/SV情報生成処理)。
ステップST228は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)はMap/SV情報によって指定される写真情報を携帯情報端末20に返信する(Map/SV情報返信処理)。
ステップST229は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20はMap/SV情報によって指定される写真情報を受信する(Map/SV情報受信処理)。
ステップST230は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20は、ステップST229において受信したMap/SV情報によって写真の画像を液晶画面に表示する(表示(移動中)処理)。
なお、携帯情報端末20の内部の記憶素子に案内ルートに沿った複数個のストリートビューの画像データ(写真情報)がステップST214ないしステップST217の処理によって既に保存されている場合には、記憶素子から該当する写真情報を取り出すことができるので、ステップST229ないしステップST229の処理に替えて記憶素子から該当する写真情報を取り出して表示する処理をおこなうこととなる。
ステップST231はエンドユーザー(携帯情報端末のユーザー)がおこなう処理である。エンドユーザーは、必要に応じて携帯情報端末の液晶画面の写真の画像を確認し、周りの風景と対比して正しく案内ルート上を移動しているか否かを判断する(画面確認処理)。
<道案内処理フローの概念図(3)>
図14は、道案内中に、案内ルートから外れた場合の処理フローの概念図(道案内処理フローの概念図(3))である。
図14に沿って、エンドユーザーが案内ルートから外れた場合の携帯情報端末20と目標サイトサーバ31と道案内サーバ32と地図・写真情報提供サーバ33とにおける処理について説明をする。
エンドユーザーが使用する携帯情報端末の性能には様々なばらつきがあり、処理速度が遅いものもある。以下の処理においては、道案内処理フローの概念図(2)に示すと同様に、処理に時間を要する部分は、道案内サーバ32がおこなうようにしている。また、エンドユーザーが案内ルートから外れた場合には、案内ルートの再検索だけではなく、地図情報の再ロードが必要になる場合もあるので、その場合には地図情報の検索からリスタートするようにしている。
ステップST301はエンドユーザー(携帯情報端末のユーザー)が移動中に案内ルート外へ移動した状態を表す。
ステップST302は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20は、道案内中は常時、所定時間毎の割り込み処理によって現在地情報を取得している(現在地情報取得(ステップST225)を参照)。
ステップST303は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは、ルート情報と現在地情報の差異判断をおこなう(ルート情報と現在地情報の差異判断処理)。
ここで、ルート情報と現在地情報のいずれもが緯度・経度で表される情報である。ルート情報と現在地情報の差異判断は以下の様にしておこなう。現在地情報が示す位置を中心として半径がルート外限界距離の円内に案内ルートが存在するか否かで案内ルートから外れたか否かを判断する。ここで、ルート外限界距離とは、案内ルートから外れたか否かを判断するための指標であり、例えば、100m(メータ)とする。携帯情報端末20のMPUは、現在位置を中心とする半径100mの円内の緯度・経度の範囲に案内ルートの緯度・経度が含まれるか否かを、現在地情報を取得するための割り込み時間内に常時演算する。エンドユーザーの現在位置の半径100mの円内の緯度・経度の範囲に案内ルートの緯度・経度が含まれていれば案内ルートから外れていないと判断し、含まれていなければ案内ルートから外れていると判断する。
ステップST303における判断の結果、エンドユーザーが案内ルートから外れていないと判断する場合には、携帯情報端末20のMPUは、処理を携帯情報端末がおこなうステップST226(Map/SV情報要求)へ移し、通常の道案内処理をおこなう。
一方、ステップST303における判断の結果、エンドユーザーが案内ルートから外れていると判断する場合には、処理はステップST304へ移る。
ステップST304は道案内プログラムが携帯情報端末20におこなわせる処理である。すなわち、以下の内容のルートから外れた用スクリプトを実行する(ルートから外れた用スクリプト実行処理)。
ステップST305は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは液晶画面の上面のストリートビュー画面(SV画面)を暗転させる(図9を参照、SV画面暗転処理)。
ステップST306は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは液晶画面の上面の暗転画面内にメッセージ表示 をさせる(図9を参照、メッセージ表示処理)。
メッセージの内容は、例えば、「ルートから外れました It deviated from the rout」である(図9を参照)。
ステップST307は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは液晶画面の上面の暗転画面内にボタンを表示させる(図9を参照、再検索ボタン表示処理)。
再検索ボタンの表示の内容は、例えば、「再検索 Re-search」である(図9を参照)。
ステップST307において再検索ボタンの表示がされた後においても、携帯情報端末20は、ステップST302の現在地情報取得処理を所定時間毎にするので、そのまま放置しても、処理は、再び、ステップST307まで繰り返す。
そして、エンドユーザーの現在位置の半径100mの円内の緯度・経度の範囲に案内ルートの緯度・経度が含まれるようになれば、処理は、携帯情報端末20がおこなうステップST226(Map/SV情報要求)へ移り、通常の道案内処理をおこなう。すなわち、暗転画面にストリートビューの写真が現れる。
ステップST308はエンドユーザーがおこなう処理である。エンドユーザーが「再検索 Re-search」をクリックすると道案内の処理は以下のようになる。
道案内プログラムは、携帯情報端末20のMPUが液晶画面の「再検索 Re-search」のクリックを検出すると、処理を目標サイトサーバ31がおこなうステップST207(道案内表示要求)(図13を参照)へ移す。
そして、道案内の処理はリスタートする。
<道案内処理フローの概念図(4)>
図15は、道案内中に、案内ルートから外れた場合の別の処理フローの概念図(道案内処理フローの概念図(4))である。
上述した<道案内処理フローの概念図(3)>の処理に替えて以下の<道案内処理フローの概念図(4)>の処理をすることもできる。移動中に案内ルート外へ移動した場合には、道案内サーバ32で予め案内ルートに沿って選択した写真(具体的には、前に検索した道案ルートに沿った位置のストリートビューの特定の回転角度の写真情報)はもはや役に立たない。しかしながら、エンドユーザーが使用する携帯情報端末20の性能が高い場合、すなわち、処理が早い場合には、携帯情報端末20と地図・写真情報提供サーバ33(Googleサーバ)との間で直接に情報のやり取りをおこなえば、道案内をおこなうことができる。
ステップST401はエンドユーザー(携帯情報端末のユーザー)が移動中に案内ルート外へ移動した状態を表す。
ステップST402は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは、道案内中は常時、所定時間毎の割り込み処理によって測位機能に現在地情報を取得させている(現在地情報取得(ステップST225)を参照)。
ステップST403は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは、ルート情報と現在地情報の差異判断をおこなう(ルート情報と現在地情報の差異判断処理)。
ステップST403における判断の結果、エンドユーザーが案内ルートから外れていると判断する場合には、処理はステップST404へ移る。
ステップST404は道案内プログラムが携帯情報端末20におこなわせる処理である。すなわち、以下の内容のルートから外れた用スクリプトを実行する(ルートから外れた用スクリプト実行処理)。
ステップST405は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは、液晶画面の上面のストリートビュー画面(SV画面)を暗転させる(図9を参照、SV画面暗転処理)。
ステップST406は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは、液晶画面の上面の暗転画面内にメッセージ表示 をする(図9を参照、メッセージ表示処理)。
メッセージの内容は、例えば、「ルートから外れました It deviated from the rout」である(図9を参照)。
ステップST407は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20のMPUは、液晶画面の上面の暗転画面内にボタンを表示させる(図9を参照、再検索ボタン表示処理)。
再検索ボタンの表示の内容は、例えば、「再検索 Re-search」である(図9を参照)。
ステップST407において再検索ボタンの表示がされた後においても、携帯情報端末20は、ステップST402の現在地情報取得処理を所定時間毎にするので、そのまま放置しても、処理は、再び、ステップST407まで繰り返す。
ステップST408はエンドユーザーがおこなう処理である。エンドユーザーが「再検索 Re-search」をクリックすると、携帯情報端末20のMPUが液晶画面の「再検索 Re-search」のクリックを検出する。
ステップST409は道案内プログラムが携帯情報端末20におこなわせる処理である。携帯情報端末20は、地図・写真情報提供サーバ33に対して地図・写真情報を要求する(Map/SV情報要求)。
ステップST409の地図・写真情報要求(Map/SV情報要求)から以降の処理は、<道案内処理フローの概念図(2)>(図13を参照)のステップST214からステップST223までの処理に対応する。すなわち、ウェブサイトからグーグルマップを読み込む処理(図13のST213を参照)は既に完了しているので、1日あたり所定回数のアクセス制限は受けない。また、エンドユーザーが移動中に案内ルート外へ移動した場合でも、現在ダウンロードしている地図の範囲であれば、地図の再ダウンロードの必用はない。
ステップST409は携帯情報端末20の処理である。携帯情報端末20は、ストリートビューの情報(Map/SV情報)を地図・写真情報提供サーバ33(Googleサーバ)に要求する(Map/SV情報要求処理)。
すなわち、測位した現在地情報に基づき地図情報とストリートビューの情報(Map/SV情報)とを地図・写真情報提供サーバ33(Googleサーバ)に要求する。
ステップST410は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)はMap/SV情報によって指定される写真情報を生成する(Map/SV情報生成処理)。
ステップST411は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)はMap/SV情報によって指定される写真情報を携帯情報端末20に返信する(Map/SV情報返信処理)。
ステップST412は携帯情報端末20がおこなう処理である。携帯情報端末20はMap/SV情報によって指定される写真情報を受信する(Map/SV情報受信処理)。
ステップST413は携帯情報端末20がおこなう処理である。携帯情報端末20は、出発位置と目標位置とを送信してルート(経路)検索の結果の情報である案内ルート情報を要求する(ルート情報要求処理)。
ステップST414は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)は出発位置と目標位置とによって特定される案内ルート情報を生成する(ルート情報生成処理)。
ステップST415は地図・写真情報提供サーバ33(Googleサーバ)がおこなう処理である。地図・写真情報提供サーバ33(Googleサーバ)は案内ルート情報を携帯情報端末20に返信する(ルート情報返信処理)。
ステップST416は携帯情報端末20がおこなう処理である。携帯情報端末20は案内ルート情報を受信する(ルート情報受信処理)。
ステップST417は携帯情報端末20がおこなう処理である。携帯情報端末20は、ステップST412において受信したMap/SV情報、ステップST416において受信したルート情報によって液晶画面上の位置および範囲並びに表示内容が特定される画像を液晶画面に表示する(再表示(リロード画面)処理)。
ステップST418はエンドユーザーがおこなう処理である。エンドユーザーは、必要に応じて携帯情報端末20の液晶画面の写真の画像を確認し、周りの風景と対比して正しいルート上を移動しているか否かを判断する(画面確認処理)。
「道案内サーバにおける処理の詳細」
既に簡単には説明をしたが、道案内サーバ32がステップST208でおこなう処理は実施形態の要部であるので、ステップST208の開始からステップST209までの処理の一例を挙げてより詳細に説明をする。
(道案内サーバがステップST208でおこなう処理の目的)
実施形態においては、道案内サーバ32と携帯情報端末20とは共に、地図・写真情報提供サーバ33から地図・写真情報を得る。ここで、道案内サーバ32が地図・写真情報提供サーバ33からダウンロードする情報と、携帯情報端末20が地図・写真情報提供サーバ33からダウンロードする情報とは、一部共通するものの全く同じではない。
道案内サーバ32が地図・写真情報提供サーバ33から地図・写真情報をダウンロードする目的は、携帯情報端末20が必要な地図・写真情報だけを選別できるようにGoogle Maps JavaScript APIを含む道案内プログラムを生成するためである。ここで、道案内サーバ32は、到達すべき目標物の緯度・経度の情報(道案内サーバ32のデータベースに予め登録された情報)と携帯情報端末20の現在位置の緯度・経度(携帯情報端末20が道案内サーバ32に接続時に道案内サーバ32が取得する)とに基づいて道案内プログラムを生成する。携帯情報端末20からの道案内の依頼を受けてから携帯情報端末20に対して道案内プログラムを送信するまでの時間が短くなければエンドユーザーの利便性は著しく害されるので、道案内サーバ32は高速処理が可能なコンピュータで構成される。
一方、携帯情報端末20は、エンドユーザーの負担なく道案内をするため道案内プログラムが指示する地図・写真情報だけを地図・写真情報提供サーバ33からダウンロードする。ここで、携帯情報端末20には色々な種類があり、その処理能力は千差万別である。性能が低いものも含め多くの携帯情報端末20において使用可能とするためには道案内プログラムは以下の要件を満たす必用がある。
道案内プログラム自体の容量が小さくなければならない。このために、道案内プログラムは地図・写真情報提供サーバ33が受付けるAPIを含むものとしている。道案内プログラムが携帯情報端末20に実行を指示する内容も携帯情報端末20の負担が小さいものでなければならない。このために、道案内プログラムは携帯情報端末20で取扱う地図・写真情報を限定している。また、携帯情報端末20が道案内プログラムをダウンロードする負担は最少でなければならない。このために、アプリケーションソフトを携帯情報端末20にダウンロードする従来の手法とは異ならせ、携帯情報端末20が道案内サーバ32にアクセスすると道案内プログラムを自動的にダウンロードするものとしている。
以上の携帯情報端末20側の要求を満たすために道案内サーバ32は、一例としてステップST2081からステップST2086に示す(図16を参照)、以下のような処理をおこない、その処理の結果物である道案内プログラムを携帯情報端末20に配信する(図13のステップST209を参照)。
図16は、道案内サーバ32における道案内表示要求受信(図13のステップST208)の処理後におこなう処理のフローチャートを示す図である。
ステップST2081では、道案内サーバ32は、目標位置情報(緯度・経度)と携帯情報端末20が道案内を依頼した時点における携帯情報端末20の位置情報である出発位置情報(緯度・経度)とに基づき、ダウンロードすべき地図の範囲を決定する。
(1)目標位置情報(緯度LATT、経度LONT)、出発位置情報(緯度LATS、経度LONS)から目標位置と現在位置の中心の中心位置座標(緯度LATC、経度LONC)を以下の式から求める。
LATC = (LATT- LATS)/2+ LATS
LONC = (LONT- LONS)/2+ LONS
(2)緯度LATC 、経度LONC を中心として、緯度|LATT- LATS|、経度|(LONT- LONS|の範囲が含まれるように地図のズームレベル(0〜21+、0は地球全体)に対応するズーム数値NZを特定する。緯度・経度の範囲を、緯度LATC ±|LATT- LATS|、LONC ±|(LONT- LONS|とするのは、目標位置と出発位置が中心位置から3割程度の位置となるような範囲の地図を選択するためである。地図に含まれる緯度・経度の範囲をLATC ±|LATT- LATS|、LONC ±|(LONT- LONS|よりも大きくなるようにズームレベルを選べば、地図の範囲はより広くなる。地図・写真特定情報をこのように選べば、携帯情報端末20の液晶画面に表示される地図画像の中心点に緯度LATC 、経度LONCの位置が表示され、ズームレベルに応じた範囲の地図が表示される。
(3)なお、道案内サーバは、携帯情報端末30から得た目標位置が目標物の玄関の位置ではないことを予め道案内サーバに登録された顧客情報から道案内サーバが認識している場合には、目標サイトサーバ31を経由して得た目標位置情報を顧客情報の目標位置に置き換えるようにしてもよい。また、目標サイトサーバ31において目標位置を目標物の玄関の位置に置き換える処理をしてもよい。そして、顧客情報の目標位置に置き換えた場合には、IF情報配信(図13のステップST209)の処理において、置き換えた目標位置の目標位置情報を携帯情報端末20に知らせる。
ステップST2082では、道案内サーバ32は、案内ルートの検索をおこなう。
(1)道案内サーバ32は、緯度LATC 、経度LONC 、ズーム数値NZを指定してグーグルマップにアクセスして地図情報をダウンロードする。
(2)道案内サーバ32は、目標位置情報(緯度LATT、経度LONT)、出発位置情報(緯度LATS、経度LONS)を指定して地図・写真情報提供サーバ33が提供するグーグルマップのルート検索機能を利用して案内ルートのルート情報をダウンロードする。
(3)IF情報配信(図13のステップST209)の処理において、IF情報の中に、エンドユーザーが指定するルート検索の移動モードが徒歩モードであるか車モードであるかを含ませるので、道案内サーバ32が検索する案内ルートと携帯情報端末20検索する案内ルートとは一致する。
ステップST2083では、道案内サーバ32は、案内ルートの途中に複数のポイントを設定して、出発位置から到達目標位置までの各々のポイントの位置(緯度・経度)を取得する。ここで、複数のポイントは、Google Maps JavaScript APIを用いて検出するようにしてもよく、手動によってペグマンを移動させてストリートビューの位置を検出するようにしてもよく、さらに、手動に替えて、特定の色の案内ルートに沿ってペグマンを自動追跡させるロボットによってストリートビューの位置を検出するようにしてもよい。
出発位置P0から目標位置PNを目指して移動する場合には、最初に到達するポイントP1(緯度LATP1、経度LON P1)、2番目に到達するポイントP2(緯度LATP2、経度LON P2)、・・・・目標位置の一つ前のN-1番目に到達するポイントPN-1(緯度LATPN-1、経度LONPN-1)を取得する。P0(緯度LATP0、経度LON P0)=(緯度LATS、経度LONS)であり、PN(緯度LATPN、経度LON PN)=(緯度LATT、経度LONT)である。
ステップST2084では、道案内サーバ32は、各ポイントにおける移動方向の方位を演算して各ポイント付近におけるストリートビューの内容を特定する。
(1)ポイントP0(出発位置)からポイントP1に向かうベクトルの角度θ0、ポイントP1からポイントP2に向かうベクトルの角度θ1・・・ポイントPnからポイントPn+1に向かうベクトルの角度θn・・・ポイントPN-1からポイントPN(目標位置)に向かうベクトルの角度θNを以下の式によって求める。以下の式では、Xn=(LONP(n+1)- LONPn)、Yn=(LATP(n+1)- LATPn)である。ポイントPn付近のストリートビューの回転角度を角度θnとする画像が、ポイントPnにおいてエンドユーザーの移動方向に見える風景に対応する角度の写真である。
X>0のとき、
θn = arctan (Yn/Xn) ×π/2×90°
X=0,Y>0のとき、
θn=90°
X=0,Y<0のとき、
θn=270°
X=<0のとき、
θn= {arctan (Yn/Xn) + π }×π/2×90°
すなわち、エンドユーザーが真北方向に向かう場合の角度θnは0°、真東方向に向かう場合の角度θnは90°、真南方向に向かう場合の角度θnは180°、真西方向に向かう場合の角度θnは270°である。
(2) ポイントP0(出発位置)付近におけるストリートビューの角度を角度θ0、ポイントP1付近におけるストリートビューの角度を角度θ1・・・ポイントPn付近におけるストリートビューの角度を角度θn・・・ポイントPN-1付近におけるストリートビューの角度を角度θN-1とする角度情報を上記の式に基づき生成して地図・写真特定情報とすれば、各ポイント付近における写真を特定できる。ここで、各ポイント付近と表現した理由は、緯度・経度を特定してストリートビューを要求すると地図・写真情報提供サーバ33はその緯度・経度に最も近い位置のストリートビューを提供するからである。
ステップST2085では、道案内サーバ32は、曲り角の前のポイントを特定する。
(1)各ポイントについて、以下のΔθnを求める演算をする。すなわち、ポイントPnにおける移動方向の方位と次のポイントPn+1における移動方向の差分を演算する。
Δθn = θn+1-θn
(2)移動方向の差分の絶対値が所定角度θK(例えば、30°)よりも大きいか否かを検出する。
|Δθn|≧θKの場合(差分の絶対値が所定角度θK(例えば、30°)よりも大きい場合)には、ポイントPnの先に曲り角があり、ポイントPn+1は曲り角を過ぎた地点であると判断できる。
|Δθn|<θKの場合(差分の絶対値が所定角度θK(例えば、30°)未満の場合)には、ポイントPnの先に曲り角がないと判断できる。
ステップST2086では、道案内サーバ32は、携帯情報端末20のハードウエア、ソフトウエアを制御する一群の制御命令を作成する。この一群の命令は、携帯情報端末20のMPUを制御して順次処理させるための以下の命令である。
(携帯情報端末におこなわせる携帯情報端末の移動前の処理)
ステップST211の現在位置(緯度・経度で特定)と目標位置(緯度・経度で特定)と地図のズームレベルと地図・写真特定情報として地図・写真情報を地図・写真情報提供サーバ33(Googleサーバ)に要求する処理(Google Maps JavaScript API要求処理)。
ステップST213のGoogle Maps JavaScript APIによって特定される地図情報を取得する(Google Maps JavaScript API取得処理)。
ステップST214の現在位置において移動方向に見える風景の写真を、ストリートビューが得られる位置および回転角度によって特定する情報(Map/SV情報)を地図・写真情報提供サーバ33(Googleサーバ)に要求する処理(Map/SV情報要求処理)。
ステップST217のMap/SV情報によって指定される写真情報を受信する処理(Map/SV情報受信処理)。
ステップST218の出発位置と目標位置とを送信してルート(経路)検索の結果の情報であるルート情報を要求する処理(ルート情報要求処理)。
ステップST221の特定されたルート情報である案内ルート情報を受信する処理(ルート情報受信処理)。
ステップST222において液晶画面に画像を表示する処理(表示(START)処理)。
(携帯情報端末におこなわせる携帯情報端末の移動中の処理)
ステップST225の測位機能を制御して携帯情報端末の現在位置の緯度・経度を測位する処理(現在地情報取得処理)。
ステップST226の案内ルート上のエンドユーザーの現在位置が、移動方向に向かい次のストリートビューの配されている位置(次の位置)を通過したことを検出すると、次の位置のストリートビューの情報(Map/SV情報)を地図・写真情報提供サーバ33(Googleサーバ)に要求する処理(Map/SV情報要求処理)。
ステップST229のMap/SV情報によって指定される写真情報を受信する処理(Map/SV情報受信処理)。
ステップST230のステップST229において受信したMap/SV情報によって写真の画像を液晶画面に表示する処理(表示(移動中)処理)。
(携帯情報端末におこなわせる携帯情報端末が案内ルートからはずれた時の処理)
ステップST302の道案内中は常時、所定時間毎の割り込み処理によって現在地情報を取得する処理(現在地情報取得処理)。
ステップST303のルート情報と現在地情報の差異判断をおこなう処理(ルート情報と現在地情報の差異判断処理)。
具体的には、携帯情報端末のMPUに以下をおこなわせる命令を送る。
(ΔLAT =ルート外限界距離に対応する緯度)、(ΔLON =ルート外限界距離に対応する緯度)を予め道案内プログラム内で設定しておき、
(現在位置の緯度±ΔLATにポイントPnの緯度が含まれ)、かつ、(現在位置の経度±ΔLONにポイントPnの経度が含まれ)る場合には、そのポイントPnは、ルート外限界距離内である。よって、ポイントP0ないしポイントPNのいずれかがルート外限界距離内であれば、案内ルートから外れていないと判断する。ポイントP0ないしポイントPNのすべてがルート外限界距離外であれば、案内ルートから外れていると判断する。
ルート外限界距離内の場合、処理をステップST226(Map/SV情報要求)へ移す。
ルート外限界距離外の場合、処理をステップST304のルートから外れた用スクリプトを実行する(ルートから外れた用スクリプト実行処理)。
<ルートから外れた用スクリプト実行処理>
ステップST305の液晶画面の上面のストリートビュー画面(SV画面)を暗転する処理(図9を参照、SV画面暗転処理)。
ステップST306の液晶画面の上面の暗転画面内にメッセージ表示 をする処理(図9を参照、メッセージ表示処理)。
ステップST307の液晶画面の上面の暗転画面内にボタンを表示する処理(図9を参照、再検索ボタン表示処理)。
<ユーザーが再検索ボタンをクリックしたときの処理>
ステップST308のユーザーが再検索ボタンをクリックしたときに処理をステップST207(道案内表示要求 )へ移す処理。
(携帯情報端末におこなわせる携帯情報端末が案内ルートからはずれた時の別の処理)
ステップST302ないしステップST308の処理に替えて以下の処理を携帯情報端末20のMPUに実行させるようにしてもよい。
ステップST402の道案内中の常時、所定時間毎の割り込み処理によって現在地情報を取得する処理(現在地情報取得(ステップST225)を参照)。
ステップST403のルート情報と現在地情報の差異判断をおこなう処理(ルート情報と現在地情報の差異判断処理、ステップST303の処理を参照)。
ステップST403のエンドユーザーが案内ルートから外れていると判断する場合の、処理をステップST404へ移す処理。
ステップST404のルートから外れた用スクリプトを実行する処理(ルートから外れた用スクリプト実行処理)。
<ルートから外れた用スクリプト実行処理>
ステップST405の液晶画面の上面のストリートビュー画面(SV画面)を暗転させる処理(図9を参照、SV画面暗転処理)。
ステップST406の液晶画面の上面の暗転画面内にメッセージ表示 をする処理(図9を参照、メッセージ表示処理)。
ステップST407の液晶画面の上面の暗転画面内にボタンを表示する処理(図9を参照、再検索ボタン表示処理)。
<ユーザーが再検索ボタンをクリックしたときの処理>
ステップST409のストリートビューの情報(Map/SV情報)を地図・写真情報提供サーバ33(Googleサーバ)に要求する処理(Map/SV情報要求処理)。
ステップST412のMap/SV情報によって指定される写真情報を受信する処理(Map/SV情報受信処理)。
ステップST413の出発位置と目標位置とを送信してルート(経路)検索の結果の情報であるルート情報を要求する処理(ルート情報要求処理)。
ステップST416の特定されたルート情報である案内ルート情報を受信する処理(ルート情報受信処理)。
ステップST417の液晶画面に画像を表示する処理(再表示(リロード画面)処理)。
そして、ステップST209において、道案内サーバ32は携帯情報端末20に対して、携帯情報端末の液晶画面にどのような表示をして、どのような方法(手順)で道案内するかについての情報を含むIF情報(道案内プログラム)を配信する(IF情報配信処理)。
IF情報は、以下のものであってもよい。
(道案内サーバが携帯情報端末に配信するIF情報の例)
道案内サーバ32は、IF情報配信(図13のステップST209)の処理において、ステップST2081で求めた中心位置座標(緯度LATC、経度LONC)およびズーム数値NZ、ステップST2084で求めたポイントPn付近におけるストリートビューの角度θn、ステップST2085で求めたポイントPnの先に曲り角があるとの各地図・写真特定情報を、携帯情報端末20のハードウエア、ソフトウエアを制御する一群の制御命令と共に道案内プログラムに含ませて携帯情報端末20に配信するようにしてもよい。
(携帯情報端末におけるIF情報の利用の例)
IF情報を受信(図13のステップST210)した携帯情報端末20は、中心位置座標(緯度LATC、経度LONC)およびズーム数値NZをMap/SV情報要求処理(図13のステップST214を参照)で用いることができる。また、ルート検索条件(移動モード、目標位置情報(緯度LATT、経度LONT)、出発位置情報(緯度LATS、経度LONS)は、ルート情報要求処理(図13のステップST218を参照)で用いることができる。また、ストリートビューの角度θnを道案内開始前に「ルート確認ボタン」をクリックする処理(図13のステップST222に含まれる)で用いることができ、道案内を受けながら移動中のMap/SV情報要求処理(図13のステップST226を参照)で用いることができる。さらに、携帯情報端末20は、ステップST2085で求めた曲り角の情報(ポイントPnの先に曲り角があり、ポイントPn+1は曲り角を過ぎた地点であるとの情報)を移動中の曲がり角の前のポイントで用いることができる。そして、携帯情報端末20のハードウエア、ソフトウエアを制御する一群の制御命令によって携帯情報端末20を順次、制御することができる。