背景技術(shù):
一些按需服務(wù)可安排由車輛駕駛員提供給用戶的運(yùn)輸。在一些情況下,用戶和駕駛員可各自操作計算裝置以便與安排運(yùn)輸?shù)南到y(tǒng)通信。為了促進(jìn)運(yùn)輸,系統(tǒng)可將運(yùn)輸?shù)奈恢眯畔⑻峁┙o用戶和駕駛員的計算裝置。
技術(shù)實現(xiàn)要素:
在根據(jù)本發(fā)明實施方式的第一方面,提供一種用于提供運(yùn)輸服務(wù)的方法,所述方法通過一個或多個處理器來實現(xiàn)并且包括:接收來自用戶的移動計算裝置的感興趣位置的坐標(biāo);從多個反向地理編碼資源中選擇一個或多個反向地理編碼資源,其中選擇一個或多個反向地理編碼資源至少部分地基于所述用戶的優(yōu)選項;從多個地圖資源中選擇地圖資源;從所選擇的一個或多個反向地理編碼資源中獲得關(guān)于所述感興趣位置的區(qū)域的地理信息;從所選擇的地圖資源中獲得針對所述感興趣位置的所述區(qū)域的地圖信息;以及基于所述地理信息和所述地圖信息來確定用于地圖界面的內(nèi)容。
在根據(jù)本發(fā)明實施方式的第二方面,提供一種用于提供運(yùn)輸服務(wù)的方法,所述方法通過一個或多個處理器來實現(xiàn)并且包括:接收來自用戶的移動計算裝置的感興趣位置的坐標(biāo);根據(jù)存儲在所述用戶的所述移動計算裝置上的信息確定所述用戶的語言優(yōu)選項;從多個反向地理編碼資源中選擇一個或多個反向地理編碼資源,其中選擇一個或多個反向地理編碼資源至少部分地基于所確定的所述用戶的語言優(yōu)選項;從多個地圖資源中選擇地圖資源;從所選擇的一個或多個反向地理編碼資源中獲得關(guān)于所述感興趣位置的區(qū)域的地理信息;從所選擇的地圖資源中獲得針對所述感興趣位置的所述區(qū)域的地圖信息;以及基于所述地理信息和所述地圖信息來確定用于主界面的內(nèi)容。
在根據(jù)本發(fā)明實施方式的第三方面,提供一種用于提供運(yùn)輸服務(wù)的方法,所述方法通過一個或多個處理器來實現(xiàn)并且包括:接收來自用戶的移動計算裝置的感興趣位置的坐標(biāo);從多個反向地理編碼資源中選擇一個或多個反向地理編碼資源;從多個地圖資源中選擇地圖資源;從所選擇的一個或多個反向地理編碼資源中獲得關(guān)于所述感興趣位置的區(qū)域的地理信息;從所選擇的地圖資源中獲得針對所述感興趣位置的所述區(qū)域的地圖信息;以及基于所述地理信息和所述地圖信息來確定用于地圖界面的內(nèi)容,其中確定用于所述地圖界面的內(nèi)容包括組合來自所述多個反向地理編碼資源中的多個反向地理編碼資源的地理信息作為用于所述地圖界面的內(nèi)容。
附圖說明
圖1示出根據(jù)一個實施方案的使用位置數(shù)據(jù)點來確定位置信息的示例性系統(tǒng)。
圖2A和圖2B示出根據(jù)一個實施方案的用于確定位置信息的示例性方法。
圖3示出根據(jù)另一實施方案的用于確定位置信息的示例性方法。
圖4是示出可實施本文所述的實施方案的計算機(jī)系統(tǒng)的框圖。
圖5是示出可實施本文所述的實施方案的移動計算裝置的框圖。
具體實施方式
本文所述的實例提供一種系統(tǒng),所述系統(tǒng)從計算裝置接收位置數(shù)據(jù)點,并且確定對應(yīng)于所述數(shù)據(jù)點的位置信息,以便提供基于位置的服務(wù)。在一個實例中,基于所述系統(tǒng)可用或可訪問哪些資源,所述系統(tǒng)可確定使用哪個資源來確定所述位置信息。
根據(jù)一個實例,所述系統(tǒng)可接收來自客戶端計算裝置的位置數(shù)據(jù)點,例如,全球定位系統(tǒng)(GPS)數(shù)據(jù)點。所述位置數(shù)據(jù)點可包括緯度、經(jīng)度以及誤差值。所述系統(tǒng)可對所述位置數(shù)據(jù)點執(zhí)行反向地理編碼過程,以確定對應(yīng)的位置信息或地址。在一個實例中,所述系統(tǒng)可首先確定所述位置數(shù)據(jù)點是否在所述系統(tǒng)的用戶(例如,管理員)已經(jīng)配置的多個預(yù)定義區(qū)域中的一個預(yù)定義區(qū)域內(nèi)。例如,所述預(yù)定義區(qū)域可存儲在所述系統(tǒng)可訪問的數(shù)據(jù)庫中。如果所述位置數(shù)據(jù)點在預(yù)定義區(qū)域內(nèi),那么對應(yīng)于所述預(yù)定義區(qū)域的位置信息可被識別并傳輸?shù)剿隹蛻舳搜b置。
如果所述位置數(shù)據(jù)點不在預(yù)定義區(qū)域內(nèi),那么所述系統(tǒng)可確定是否可用或訪問第三方反向地理編碼服務(wù)來將所述位置數(shù)據(jù)點轉(zhuǎn)譯或轉(zhuǎn)譯成地址,例如,街道地址。在一些實例中,所述系統(tǒng)可與多個第三方反向地理編碼服務(wù)通信。如果可訪問第三方反向地理編碼服務(wù)來將所述位置數(shù)據(jù)點轉(zhuǎn)譯成地址,那么所述系統(tǒng)可將請求傳輸?shù)剿龅谌椒聪虻乩砭幋a服務(wù)(所述請求包括所述位置數(shù)據(jù)點),并且可接收對應(yīng)的地址。所述地址隨后可傳輸?shù)剿隹蛻舳搜b置。
在一些情況下,所述系統(tǒng)可能無法使用或訪問所述第三方反向地理編碼服務(wù)。在這種情況下,所述系統(tǒng)可確定所述系統(tǒng)的地圖數(shù)據(jù)庫(例如,所述系統(tǒng)維護(hù)的內(nèi)部數(shù)據(jù)庫)是否可用于將所述位置數(shù)據(jù)點轉(zhuǎn)譯成所述地址。如果所述地圖數(shù)據(jù)庫可用,那么系統(tǒng)可使用所述位置數(shù)據(jù)點從所述地圖數(shù)據(jù)庫中檢索存儲的地址,并且將檢索的地址傳輸?shù)剿隹蛻舳搜b置。如果所述地圖數(shù)據(jù)庫不可用(或者如果沒有找到對應(yīng)于所述位置數(shù)據(jù)點的地址),那么所述系統(tǒng)可識別將被傳輸?shù)剿隹蛻舳搜b置的指定文本串。通過這種方式,基于預(yù)定的等級或順序,系統(tǒng)100可執(zhí)行反向地理編碼過程。
另外,所述系統(tǒng)還可接收來自所述客戶端裝置的針對運(yùn)輸服務(wù)的請求。運(yùn)輸請求可包括所述客戶端裝置的用戶指定/選擇的位置數(shù)據(jù)點(例如,先前傳輸?shù)奈恢脭?shù)據(jù)點或新的位置數(shù)據(jù)點)。基于所述運(yùn)輸請求的所述位置數(shù)據(jù)點,所述系統(tǒng)可選擇能夠提供所述運(yùn)輸服務(wù)的駕駛員。根據(jù)一些實例,所述系統(tǒng)可確定所述客戶端裝置的所述用戶的優(yōu)選語言是否匹配所選擇的駕駛員的優(yōu)選語言。如果所述優(yōu)選語言匹配,那么所述系統(tǒng)可將確定的位置信息/地址傳輸給所述駕駛員的裝置。另一方面,如果所述優(yōu)選語言不匹配,那么所述系統(tǒng)可(例如,代表所述駕駛員)執(zhí)行所述反向地理編碼過程,以確定使用所述駕駛員的所述優(yōu)選語言的所述位置信息或地址。
本文中使用的客戶端裝置、駕駛員裝置和/或計算裝置是指對應(yīng)于臺式計算機(jī)、蜂窩裝置或智能電話、個人數(shù)字助理(PDA)、膝上型計算機(jī)、平板裝置、電視(IP電視)等的裝置,所述裝置可提供網(wǎng)絡(luò)連接并且處理資源,以便通過網(wǎng)絡(luò)與所述系統(tǒng)通信。駕駛員裝置還可對應(yīng)于運(yùn)輸對象的其他裝置或自定義硬件等。所述客戶端裝置和/或駕駛員裝置還可操作被配置成與所述系統(tǒng)通信的應(yīng)用。
此外,例如,所述系統(tǒng)可將基于位置的服務(wù)(例如,運(yùn)輸服務(wù)、遞送服務(wù)、娛樂服務(wù))安排在使用所述計算裝置的個人之間。例如,用戶可請求按需服務(wù),諸如,運(yùn)輸服務(wù)或遞送服務(wù)(例如,食品遞送、信使服務(wù)、快餐車服務(wù)或產(chǎn)品裝運(yùn))或娛樂服務(wù)(例如,墨西哥流浪樂隊、弦樂四重奏),并且所述系統(tǒng)可選擇使用與所述系統(tǒng)通信的裝置的服務(wù)提供商,例如,駕駛員、食品提供商、樂隊等。
在另一實例中,通過一個或多個網(wǎng)絡(luò)接收到多個位置數(shù)據(jù)點,其中在一段時間內(nèi)從一個或多個客戶端裝置傳送多個位置點。響應(yīng)于接收到所述多個位置數(shù)據(jù)點中的每一個,訪問數(shù)據(jù)存儲區(qū),所述數(shù)據(jù)存儲區(qū)包括多個預(yù)定義地理柵欄,以便確定所述位置數(shù)據(jù)點是否在所述多個預(yù)定義地理柵欄中的任一個的預(yù)定義區(qū)域內(nèi)。所述系統(tǒng)的用戶配置了所述多個預(yù)定義地理柵欄中的至少一個。針對不在預(yù)定義區(qū)域內(nèi)的至少一個位置數(shù)據(jù)點,(i)確定使用另一資源來將位置信息提供給所述客戶端裝置。也確定一個或多個第三方反向地理編碼服務(wù)來轉(zhuǎn)譯所述位置數(shù)據(jù)點。將請求傳輸?shù)降谌椒聪虻乩砭幋a服務(wù),以將所述多個位置數(shù)據(jù)點中的每一個轉(zhuǎn)譯成街道地址,其中所述請求包括所述位置數(shù)據(jù)點。接收用于所述多個位置數(shù)據(jù)點中的每一個的對應(yīng)街道地址。針對所述多個位置數(shù)據(jù)點中的每一個,將所述對應(yīng)街道地址傳輸?shù)絺魉退鑫恢脭?shù)據(jù)點的客戶端裝置。
本文所述的一個或多個實例假設(shè)計算裝置執(zhí)行的方法、技術(shù)和動作以編程方式執(zhí)行或作為計算機(jī)實施的方法。本文中使用的以編程方式是指通過使用代碼或計算機(jī)可執(zhí)行的指令。這些指令可存儲在計算裝置的一個或多個存儲器資源上。以編程方式執(zhí)行的步驟可以是或可以不是自動的。
本文所述的一個或多個實例可使用編程模塊、引擎或部件來實施。編程模塊、引擎或部件可包括程序、子例程、程序的一部分,或者能夠執(zhí)行一個或多個規(guī)定任務(wù)或功能的軟件部件或硬件部件。本文中使用的模塊或部件可存在于硬件部件上,獨立于其他模塊或部件?;蛘?,模塊或部件可以是其他模塊、程序或機(jī)器的共享元件或進(jìn)程。
本文所述的一些實例大體可需要使用計算裝置,包括處理資源和存儲器資源。例如,本文所述的一個或多個實例可整個或部分實施在計算裝置上,例如,服務(wù)器、臺式計算機(jī)、蜂窩或智能電話、個人數(shù)字助理(PDA)、膝上型計算機(jī)、打印機(jī)、數(shù)碼相框、網(wǎng)絡(luò)設(shè)備(例如,路由器)以及平板裝置。存儲器資源、處理資源和網(wǎng)絡(luò)資源可全部用于建立、使用或執(zhí)行本文所述的任何實例(包括執(zhí)行任何方法或?qū)嵤┤魏蜗到y(tǒng))。
此外,本文所述的一個或多個實例可通過使用一個或多個處理器可執(zhí)行的指令來實施。這些指令可攜帶在計算機(jī)可讀介質(zhì)上。下文結(jié)合附圖示出或描述的機(jī)器提供處理資源和可以實行和/或執(zhí)行用于實施本文所述的實例的指令所在的計算機(jī)可讀介質(zhì)的實例。具體而言,結(jié)合本文所述的實例示出的很多機(jī)器包括處理器以及用于存儲數(shù)據(jù)和指令的各種形式的存儲器。計算機(jī)可讀介質(zhì)的實例包括永久存儲器存儲裝置,例如,個人計算機(jī)或服務(wù)器上的硬盤驅(qū)動器。計算機(jī)存儲介質(zhì)的其他實例包括便攜式存儲單元,例如,CD或DVD單元、閃存(例如,攜帶在智能電話、多功能裝置或平板上)以及磁存儲器。計算機(jī)、終端、具有網(wǎng)絡(luò)功能的裝置(例如,移動裝置,諸如移動電話)都是使用處理器、存儲器以及存儲在計算機(jī)可讀介質(zhì)上的指令的機(jī)器和裝置的實例。此外,實例可采用計算機(jī)程序或能夠攜帶此類程序的計算機(jī)可用載體介質(zhì)的形式實施。
系統(tǒng)描述
圖1示出根據(jù)一個實施方案的使用位置數(shù)據(jù)點來確定位置信息的示例性系統(tǒng)。在一個實例中,所述系統(tǒng)可與另一系統(tǒng)一起操作或作為其一部分操作,所述另一系統(tǒng)能夠在各方之間安排服務(wù)(例如,在用戶與服務(wù)提供商之間安排運(yùn)輸服務(wù)或遞送服務(wù))。例如,圖1的系統(tǒng)可對應(yīng)于調(diào)度系統(tǒng),所述調(diào)度系統(tǒng)選擇駕駛員以便為用戶安排運(yùn)輸服務(wù)。系統(tǒng)100可接收來自用戶的客戶端裝置的位置數(shù)據(jù)點,并且執(zhí)行反向地理編碼過程,以確定對應(yīng)于所述位置數(shù)據(jù)點的地址或其他位置信息。
一般來說,計算裝置可將位置數(shù)據(jù)點提供到第三方反向地理編碼服務(wù),而第三方反向地理編碼服務(wù)可執(zhí)行將所述位置數(shù)據(jù)點轉(zhuǎn)譯成街道地址。然而,只使用第三方反向地理編碼服務(wù)來確定位置信息可能會存在缺點。例如,第三方反向地理編碼服務(wù)可能具有速率限制,諸如,允許特定裝置的每秒查詢(QPS)數(shù)量有限,和/或可能比較昂貴。在多個客戶端裝置通過同一網(wǎng)絡(luò)(例如,無線局域網(wǎng)(WLAN))操作的情況下,第三方反向地理編碼服務(wù)可將查詢第三方反向地理編碼服務(wù)的多個裝置視作同一裝置,并且將裝置封鎖(例如,阻止裝置調(diào)用第三方反向地理編碼服務(wù))。此外,依賴于特定第三方反向地理編碼服務(wù)在一些情況下可能會遇到問題,例如,當(dāng)?shù)刂窋?shù)據(jù)不準(zhǔn)確或當(dāng)?shù)谌椒聪虻乩砭幋a服務(wù)的計算資源出現(xiàn)故障(例如,服務(wù)器崩潰)時。圖1的系統(tǒng)100可接收來自客戶端裝置的位置數(shù)據(jù)點并且可執(zhí)行可以使用或可不使用第三方反向地理編碼服務(wù)的反向地理編碼過程,而不是讓客戶端裝置直接將位置數(shù)據(jù)點傳輸?shù)降谌椒聪虻乩砭幋a服務(wù)。
根據(jù)一個實例,系統(tǒng)100包括位置確定110、運(yùn)輸安排120、裝置接口130、服務(wù)接口140、地理柵欄數(shù)據(jù)庫150、地理柵欄接口155以及地圖數(shù)據(jù)庫160。多個客戶端裝置170和多個駕駛員裝置180可通過一個或多個網(wǎng)絡(luò)經(jīng)由裝置接口130與系統(tǒng)100通信。在一些實例中,系統(tǒng)100還可與一個或多個第三方反向地理編碼服務(wù)190通信。系統(tǒng)100的部件可組合起來,以接收來自客戶端裝置170的位置數(shù)據(jù)點,并且執(zhí)行反向地理編碼過程,以確定對應(yīng)于所述位置數(shù)據(jù)點的地址或位置信息。邏輯可由各種應(yīng)用(例如,軟件)實施和/或由實施系統(tǒng)100的計算機(jī)系統(tǒng)的硬件實施。
根據(jù)實施方式,系統(tǒng)100的一個或多個部件可在網(wǎng)絡(luò)側(cè)資源上實施,例如,在一個或多個服務(wù)器上實施。系統(tǒng)100也可通過替代架構(gòu)(例如,對等網(wǎng)絡(luò)等)中的其他計算機(jī)系統(tǒng)實施。此外或作為替代,系統(tǒng)100的一些或全部部件可在客戶端裝置170上實施,例如,通過在客戶端裝置170和/或駕駛員裝置180上操作的應(yīng)用來實施。例如,諸如服務(wù)應(yīng)用的客戶端應(yīng)用可執(zhí)行,以完成系統(tǒng)100的各種部件所述的一個或多個過程。系統(tǒng)100可通過網(wǎng)絡(luò)經(jīng)由網(wǎng)絡(luò)接口(例如,以無線方式或使用有線)與一個或多個客戶端裝置170以及一個或多個駕駛員裝置180通信。
系統(tǒng)100可通過一個或多個網(wǎng)絡(luò)使用裝置接口130與客戶端裝置170和駕駛員裝置180通信。裝置接口130可管理系統(tǒng)100與遠(yuǎn)程計算裝置之間的通信。在一些實例中,客戶端裝置170(和駕駛員裝置180)可單獨操作服務(wù)應(yīng)用,所述服務(wù)應(yīng)用可與裝置接口130接合,以便與系統(tǒng)100通信。根據(jù)一些實例,應(yīng)用可包括或使用應(yīng)用編程接口(API),例如,面向外部的API,以便與裝置接口130傳送數(shù)據(jù)。面向外部的API可使用任何數(shù)量的方法通過網(wǎng)絡(luò)經(jīng)由安全訪問信道來提供對系統(tǒng)100的訪問,例如,所述方法是基于網(wǎng)絡(luò)的形式、經(jīng)由restful API的編程訪問、簡單對象訪問協(xié)議(SOAP)、遠(yuǎn)程過程調(diào)用(RPC)、腳本訪問等。
根據(jù)一些實例,位置確定110可經(jīng)由裝置接口130接收來自客戶端裝置170的位置數(shù)據(jù)點171。例如,當(dāng)客戶端裝置170的用戶操作服務(wù)應(yīng)用時,用戶可與服務(wù)應(yīng)用的用戶界面交互,以選擇或指定有關(guān)按需服務(wù)和/或基于位置的服務(wù)的特定位置。用戶可與地圖界面交互,例如,所述地圖界面顯示用戶的當(dāng)前位置(例如,客戶端裝置170的當(dāng)前位置)以及一個或多個圖形特征(例如,標(biāo)針),所述圖形特征在地圖上可被用戶移動,以指示用于請求基于位置的服務(wù)的位置。在一個實例中,地圖上的標(biāo)針指定的位置可以是用于運(yùn)輸服務(wù)的接送位置和/或目的地位置,或者用于遞送服務(wù)的下車位置。
當(dāng)用戶選擇位置時,例如,將地圖界面上的標(biāo)針移動到特定位置時,客戶端裝置170確定(對應(yīng)于所述特定位置的)位置數(shù)據(jù)點171并且經(jīng)由裝置接口130將所述位置數(shù)據(jù)點傳輸?shù)较到y(tǒng)100。根據(jù)實例,對應(yīng)于選定位置的位置數(shù)據(jù)點171包括緯度、經(jīng)度以及誤差值。例如,客戶端裝置170可包括全球定位系統(tǒng)(GPS)部件和/或可確定客戶端裝置170的當(dāng)前位置或地圖界面上的選定位置的GPS坐標(biāo)的其他部件。GPS部件還可包括位置數(shù)據(jù)點171的誤差值,以表明緯度和經(jīng)度的準(zhǔn)確性。例如,具有高誤差值的位置數(shù)據(jù)點171被視作不如誤差值較低的位置數(shù)據(jù)點171準(zhǔn)確(例如,在確定GPS坐標(biāo)時出現(xiàn)信號干擾、硬件故障等,GPS部件的位置數(shù)據(jù)點可具有高的誤差)。
根據(jù)一個實例,每次客戶端裝置170的用戶指定服務(wù)應(yīng)用的地圖界面上的位置,例如,運(yùn)輸服務(wù)的接送位置,客戶端裝置170都可將對應(yīng)的位置數(shù)據(jù)點171提供到系統(tǒng)100。例如,用戶可選擇地圖界面上的第一位置(例如,經(jīng)由手指觸摸客戶端裝置170的觸敏顯示屏來移動標(biāo)針,且隨后在指定了所需位置后移開手指),并且響應(yīng)于用戶從觸敏顯示屏上移開手指,客戶端裝置170可確定用戶已經(jīng)選擇位置并將對應(yīng)的位置數(shù)據(jù)點171傳輸?shù)较到y(tǒng)100。緊隨其后(例如,一秒后),用戶可選擇地圖界面上的不同第二位置(例如,用戶確定第二位置更適于運(yùn)輸服務(wù))。類似地,客戶端裝置170隨后可傳輸對應(yīng)于第二位置的位置數(shù)據(jù)點171。
在一些實例中,用戶可繼續(xù)改變指定位置(并且導(dǎo)致客戶端裝置170繼續(xù)傳輸對應(yīng)的位置數(shù)據(jù)點171),直到(i)用戶向系統(tǒng)100發(fā)出運(yùn)輸請求175,(ii)用戶發(fā)出運(yùn)輸請求175之后經(jīng)過預(yù)定的時間和/或(iii)用戶被提供運(yùn)輸服務(wù)的駕駛員接到為止。每次用戶指定位置,在用戶的客戶端裝置170上運(yùn)行的服務(wù)應(yīng)用都將對應(yīng)的位置數(shù)據(jù)點171提供到系統(tǒng)100,從而系統(tǒng)100可確定對應(yīng)的地址或位置信息并將其提供到服務(wù)應(yīng)用。根據(jù)一個實例,位置數(shù)據(jù)點171可由服務(wù)應(yīng)用提供到系統(tǒng)100,作為對應(yīng)地址的請求的一部分。通過這種方式,用戶可查看并驗證所述特定地址就是針對運(yùn)輸服務(wù)而言用戶想要的接送(在另一實例中,下車)的地址。
位置確定110接收來自客戶端裝置170的位置數(shù)據(jù)點171,并且作為響應(yīng),可針對所述位置數(shù)據(jù)點171執(zhí)行反向地理編碼過程。在一個實例中,通過基于一個或多個條件確定使用哪個資源(例如,哪個特定數(shù)據(jù)庫、哪個第三方反向地理編碼服務(wù)等)來將位置數(shù)據(jù)點171轉(zhuǎn)譯成對應(yīng)地址(例如,街道地址)或者對應(yīng)的位置名稱、信息或標(biāo)識符,位置確定110可執(zhí)行反向地理編碼過程。在一些實例中,位置確定110包括資源選擇和語言匹配。
位置確定110可訪問多個資源或與之通信,以確定接收的位置數(shù)據(jù)點171的位置信息或地址。多個資源可包括地理柵欄數(shù)據(jù)庫150、地圖數(shù)據(jù)庫160、多個第三方反向地理編碼服務(wù)190和/或其他數(shù)據(jù)庫,例如,用于存儲文本串的數(shù)據(jù)庫,圖1中未示出。根據(jù)實施方式,地理柵欄數(shù)據(jù)庫150和/或地圖數(shù)據(jù)庫160可包括在系統(tǒng)100中和/或由系統(tǒng)100的管理員用戶維護(hù)。
根據(jù)一個實例,地理柵欄數(shù)據(jù)庫150是存儲多個用戶創(chuàng)建或用戶配置的地理柵欄(例如,三個或更多位置數(shù)據(jù)點定義的預(yù)定義區(qū)域)的數(shù)據(jù)庫,其中每個都對應(yīng)于描述性文本串。地理柵欄數(shù)據(jù)庫150中的每一個條目可包括(i)定義地理柵欄的邊界的多個位置點以及(ii)對應(yīng)于地理柵欄的位置信息(例如,作為指定的文本串)。例如,可針對地理區(qū)域創(chuàng)建地理柵欄,例如,舊金山國際機(jī)場的航站樓2的出口或門附近的區(qū)域(例如,鄰近接送區(qū)),并且標(biāo)識為“航站樓2,SFO”。在一些實例中,地理柵欄條目還可包括用于所述地理柵欄條目的時間周期(例如,開始日期、開始時間、結(jié)束日期、結(jié)束時間等)。管理員可經(jīng)由一個或多個輸入端157與地理柵欄接口155交互,以創(chuàng)建、編輯和/或刪除地理柵欄數(shù)據(jù)庫150中的地理柵欄。
地圖數(shù)據(jù)庫160可對應(yīng)于存儲在系統(tǒng)100中的地圖信息。例如,地圖信息可由諸如開放式街道地圖(OSM)的地圖資源、開源地圖數(shù)據(jù)庫或者其他地圖資源提供或從中檢索。地圖數(shù)據(jù)庫160可使用來自O(shè)SM的信息定期更新和/或可由系統(tǒng)100的管理員更新(例如,系統(tǒng)100存儲并維護(hù)地圖數(shù)據(jù)庫160)。位置確定110可訪問地理柵欄數(shù)據(jù)庫150和/或地圖數(shù)據(jù)庫160,以確定對應(yīng)于接收的位置數(shù)據(jù)點171的位置信息。
此外,系統(tǒng)100還可通過網(wǎng)絡(luò)經(jīng)由一個或多個服務(wù)接口140來訪問一個或多個第三方反向地理編碼服務(wù)190。第三方反向地理編碼服務(wù)提供位置數(shù)據(jù)點(例如,緯度和經(jīng)度)到可讀地址或名稱的轉(zhuǎn)譯??纱嬖诙鄠€不同的第三方反向地理編碼服務(wù)190并且可為系統(tǒng)100(例如,經(jīng)由服務(wù)接口140)使用。例如,第三方反向地理編碼服務(wù)190可提供位于特定區(qū)域(例如,較大的城市或國家)內(nèi)的位置數(shù)據(jù)點的街道地址(例如,第三方反向地理編碼服務(wù)可專門轉(zhuǎn)譯韓國的位置點),而另一第三方反向地理編碼服務(wù)190可提供位于另一區(qū)域(例如,法國)內(nèi)的位置點的街道地址。在另一實例中,第三方反向地理編碼服務(wù)190可比其他服務(wù)的涵蓋面更廣(即,具有比其他服務(wù)跨越更大地理區(qū)域的更大地址數(shù)據(jù)庫,例如,谷歌公司(Google Inc.)的反向地理編碼服務(wù))。
基于接收的位置數(shù)據(jù)點171以及系統(tǒng)100的一個或多個條件,資源選擇可確定使用哪個資源來確定接收的位置數(shù)據(jù)點171的位置信息或地址。例如,經(jīng)由系統(tǒng)100的用戶輸入的一個或多個參數(shù),資源選擇可被配置成確定第一使用哪個資源,如有需要第二使用哪個資源,如有需要第三使用哪個資源等等,以便確定接收的位置數(shù)據(jù)點171的位置信息或地址。此外,在一個實例中,位置確定110可首先確定隨位置數(shù)據(jù)點171接收的誤差值是否等于或大于閾值誤差值。誤差值等于或大于閾值誤差值可表明(例如)客戶端裝置170的GPS部件確定的緯度和經(jīng)度很可能是錯誤或不準(zhǔn)確的。
例如,如果位置確定110確定誤差值等于或大于閾值誤差值,那么資源選擇可將文本串?dāng)?shù)據(jù)庫(圖1中未示出)選擇作為位置確定110要訪問的資源。位置確定110可從文本串?dāng)?shù)據(jù)庫中檢索默認(rèn)文本串,并且將默認(rèn)文本串提供到(傳輸位置數(shù)據(jù)點171的)客戶端裝置170,向用戶表明無法確定位置或者GPS部件提供了不準(zhǔn)確的位置數(shù)據(jù)。在其他實例中,文本串也可提示用戶再次嘗試或選擇新的位置。在這樣的實例中,由于確定誤差值較高,因此,位置確定110可放棄使用第三方反向地理編碼服務(wù)190,從而減少網(wǎng)絡(luò)帶寬使用并且減少到達(dá)第三方反向地理編碼服務(wù)190的通信量,而且通常不會執(zhí)行反向地理編碼過程來確定接收的位置數(shù)據(jù)點171的對應(yīng)地址或位置信息。
此外或作為替代,在一些實例中,資源選擇還可存儲用來確定對應(yīng)的接收位置數(shù)據(jù)點171的地址或位置信息的資源(相對于彼此的)排序。在一個實例中,系統(tǒng)100的管理員先前可對所述資源進(jìn)行分類或使之相對于彼此排序。當(dāng)位置確定110接收到位置數(shù)據(jù)點171時,資源選擇可選擇可用來或可訪問以用來確定對應(yīng)的地址或位置信息的排名最高的資源。例如,位置確定110將使用的資源的排序可按照下列順序來優(yōu)先級排位:(1)地理柵欄數(shù)據(jù)庫150,(2)位置特定第三方反向地理編碼服務(wù)190,(3)更大更通用的第三方反向地理編碼服務(wù)190(與位置特定第三方反向地理編碼服務(wù)相比),(4)地圖數(shù)據(jù)庫160,以及(5)文本串?dāng)?shù)據(jù)庫。在其他實例中資源的順序可以不同。在一些實例中,管理員可以調(diào)整用于位置確定110的資源選擇的資源排序。
當(dāng)位置確定110接收到位置數(shù)據(jù)點171時,它可執(zhí)行反向地理編碼過程,以確定對應(yīng)的地址或位置信息。反向地理編碼過程包括確定使用哪個資源來確定接收的位置數(shù)據(jù)點171的對應(yīng)地址或位置信息。在一個實例中,資源選擇可確定首先使用地理柵欄數(shù)據(jù)庫150(例如,基于上述排序)。位置確定110將訪問地理柵欄數(shù)據(jù)庫150,以確定位置數(shù)據(jù)點171是否位于地理柵欄的預(yù)定義區(qū)域內(nèi)(例如,在地理柵欄的三個或更多位置點定義的邊界內(nèi))。如果位置數(shù)據(jù)點171在地理柵欄的預(yù)定義區(qū)域內(nèi),那么位置確定110從地理柵欄數(shù)據(jù)庫150中識別對應(yīng)的位置信息151或描述性文本串,并且經(jīng)由裝置接口130將位置信息151或描述性文本串作為位置信息173提供給客戶端裝置170。
如上文論述,存儲在地理柵欄數(shù)據(jù)庫150中的地理柵欄條目可以是基于時間的地理柵欄條目,其中一個或多個持續(xù)時間與所述地理柵欄條目相關(guān)聯(lián)。持續(xù)時間可表明地理柵欄何時“起作用”。例如,地理柵欄可指定可發(fā)生事件(例如,音樂會、運(yùn)動賽事、游行等)的持續(xù)時間。當(dāng)用戶在所述持續(xù)時間期間請求地理柵欄區(qū)域中的接送位置時,這種基于時間的地理柵欄可指示對應(yīng)于此類事件的描述性文本串。如果位置確定110接收到位置數(shù)據(jù)點171,所述位置數(shù)據(jù)點在基于時間的地理柵欄的預(yù)定義區(qū)域內(nèi),但不是在所述地理柵欄的指定持續(xù)時間期間的特定時間示例接收到的,那么位置確定110可指示位置數(shù)據(jù)點171并不匹配地理柵欄數(shù)據(jù)庫150中的現(xiàn)有地理柵欄條目(例如,即使位置數(shù)據(jù)點171在基于時間的地理柵欄的預(yù)定義區(qū)域內(nèi))?;谥付ǖ捻樞蚧虻燃墸Y源選擇可確定使用另一資源來進(jìn)行反向地理編碼過程。
如果位置數(shù)據(jù)點171不在地理柵欄數(shù)據(jù)庫150的任一地理柵欄的預(yù)定義區(qū)域內(nèi),那么資源選擇可確定是否可訪問對應(yīng)于位置數(shù)據(jù)點171的位置特定第三方地理編碼服務(wù)190。在一些情況下,由于訪問限制(例如,每秒只可發(fā)出一定數(shù)量的反向地理編碼請求,例如,每秒查詢(QPS)限制)、帶寬限制、硬件問題(例如,第三方反向地理編碼服務(wù)的服務(wù)器崩潰或出現(xiàn)網(wǎng)絡(luò)問題)等,無法訪問第三方反向地理編碼服務(wù)。此外,位置數(shù)據(jù)點171可能在無法使用位置特定第三方地理編碼服務(wù)190的區(qū)域內(nèi)。如果可訪問位置特定第三方地理編碼服務(wù)190(例如,專用于位置數(shù)據(jù)點171所在的城市、地區(qū)、州或國家等的位置特定第三方地理編碼服務(wù)190),那么位置確定110可使用位置數(shù)據(jù)點171將反向地理編碼請求111(例如,查詢位置特定第三方地理編碼服務(wù)190)發(fā)送到可提供從位置數(shù)據(jù)點171到對應(yīng)地址的轉(zhuǎn)譯的位置特定第三方地理編碼服務(wù)190。一旦位置確定110接收到來自第三方反向地理編碼服務(wù)190的對應(yīng)地址191,位置確定110便可將地址173提供到客戶端裝置170。
另一方面,如果無法訪問位置特定第三方地理編碼服務(wù)190,那么資源選擇可確定是否可訪問更大更通用的第三方反向地理編碼服務(wù)190(與位置特定第三方反向地理編碼服務(wù)相比)。在一些實例中,更大更通用的第三方反向地理編碼服務(wù)190可涵蓋更大地理范圍的數(shù)據(jù)點(例如,谷歌公司提供的反向地理編碼服務(wù))。如果可訪問更大更通用的第三方反向地理編碼服務(wù)190,那么位置確定110可使用位置數(shù)據(jù)點171將反向地理編碼請求111(例如,查詢更大更通用的第三方地理編碼服務(wù)190)發(fā)送到可提供從位置數(shù)據(jù)點171到對應(yīng)地址的轉(zhuǎn)譯的更大更通用的第三方地理編碼服務(wù)190。一旦位置確定110接收到來自更大更通用的第三方反向地理編碼服務(wù)190的對應(yīng)地址191,位置確定110便可將地址173提供到客戶端裝置170。
如果無法訪問第三方地理編碼服務(wù)190,那么資源選擇可確定是否可訪問系統(tǒng)100的內(nèi)部地圖數(shù)據(jù)庫160。地圖數(shù)據(jù)庫160可對應(yīng)于一個或多個地圖資源提供或從中檢索的地圖信息。如果可訪問地圖數(shù)據(jù)庫160,那么位置確定110可在地圖數(shù)據(jù)庫160中執(zhí)行位置數(shù)據(jù)點171的查找。如果位置數(shù)據(jù)點171具有對應(yīng)的地址或位置信息161,那么位置確定110可經(jīng)由裝置接口130將地址或位置信息161作為位置信息173提供給客戶端裝置170。
如果無法訪問或不可用地圖數(shù)據(jù)庫160,或者如果在地圖數(shù)據(jù)庫160中沒有找到對應(yīng)的地址或位置信息,那么資源選擇可確定沒有可用或可訪問的資源,并且位置確定110可識別存儲在文本串?dāng)?shù)據(jù)庫中的自定義文本串。位置確定110可導(dǎo)致自定義文本串經(jīng)由裝置130傳輸?shù)娇蛻舳搜b置170,例如,“地址不可用”、“選擇另一位置”或者“在文本框中輸入地址”。通過這種方式,在發(fā)出服務(wù)請求之前,用戶可接收有關(guān)基于位置的按需服務(wù)的地址或位置的準(zhǔn)確信息。
根據(jù)一些實例,位置確定110還可確定操作客戶端裝置170的用戶的優(yōu)選語言。例如,系統(tǒng)100可維護(hù)用戶和/或用戶的相應(yīng)客戶端裝置170的檔案數(shù)據(jù)庫。系統(tǒng)100還可維護(hù)駕駛員的檔案數(shù)據(jù)庫。用戶的檔案可包括用戶標(biāo)識符(ID)(例如,用戶名、電子郵件地址等)和優(yōu)選語言(例如,英語、韓語、阿拉伯語、法語、漢語等),以及其他用戶信息。當(dāng)用戶操作客戶端裝置170并且客戶端裝置170將位置數(shù)據(jù)點171提供到位置確定110(例如,與用戶ID一起)時,通過訪問用戶檔案數(shù)據(jù)庫中的用戶檔案,語言匹配可識別該用戶的優(yōu)選語言。通過這種方式,當(dāng)針對用戶選擇的位置數(shù)據(jù)點171,對應(yīng)的地址或位置信息173被提供到該用戶的客戶端裝置170時,位置確定110可使用該用戶的優(yōu)選語言來傳輸?shù)刂坊蛭恢眯畔?73。
根據(jù)變形,通過(i)執(zhí)行使用反向地理編碼過程確定(例如,使用多個資源中的一個確定)的地址或位置信息的轉(zhuǎn)譯,(ii)訪問第三方轉(zhuǎn)譯服務(wù)以執(zhí)行確定地址或位置信息的轉(zhuǎn)譯和/或(iii)在反向地理編碼過程期間,致使位置確定110針對使用指定優(yōu)選語言的地址191向第三方反向地理編碼服務(wù)發(fā)出反向地理編碼請求111,位置確定110(例如,經(jīng)由語言匹配)可使用對應(yīng)用戶和/或用戶的客戶端裝置170的優(yōu)選語言提供地址或位置信息173。在一些實例中,轉(zhuǎn)譯可以是按發(fā)音表達(dá)從一種語言(例如,英語)轉(zhuǎn)譯到另一語言(例如,按漢語發(fā)音)。
系統(tǒng)100還可與另一系統(tǒng)操作或作為其一部分操作,所述另一系統(tǒng)能夠在各方之間安排基于位置的服務(wù)。例如,系統(tǒng)100可包括接收來自客戶端裝置170的運(yùn)輸請求175的運(yùn)輸安排120??蛻舳搜b置170的用戶可選擇位置,例如,接送位置,并且接收來自系統(tǒng)100的地址或位置信息173。用戶隨后可經(jīng)由在客戶端裝置170上操作的服務(wù)應(yīng)用,使用選擇的位置(或者選擇不同的位置)向系統(tǒng)100發(fā)出運(yùn)輸請求175。運(yùn)輸請求175可包括位置數(shù)據(jù)點171,并且基于指定接送位置的位置數(shù)據(jù)點171,運(yùn)輸安排120可安排將由駕駛員提供的運(yùn)輸。例如,多個駕駛員可操作多個駕駛員裝置180。運(yùn)輸安排120可基于下列項來選擇駕駛員:運(yùn)輸請求175(例如,請求哪種類型的車輛、什么時間、用戶等級、駕駛員等級等)和/或位置數(shù)據(jù)點171(例如,與離得較遠(yuǎn)的其他駕駛員相比,運(yùn)輸安排120可以選擇附近的駕駛員)。
當(dāng)運(yùn)輸安排120選擇駕駛員時,有關(guān)運(yùn)輸服務(wù)的信息125可以提供到客戶端裝置170和選擇的駕駛員的駕駛員裝置180(例如,提供到在相應(yīng)裝置上操作的服務(wù)應(yīng)用)。駕駛員還被通知客戶選擇的接送位置。然而,替代于將客戶端裝置170的用戶選擇的位置數(shù)據(jù)點171提供到駕駛員裝置180,在一些實例中,位置確定110可將(先前針對客戶端裝置170的用戶確定的)對應(yīng)街道地址或位置信息作為地址或位置信息183提供到駕駛員裝置180。
根據(jù)一些實例,位置確定110還可確定選擇的駕駛員的優(yōu)選語言。當(dāng)駕駛員被運(yùn)輸安排120選擇時,通過訪問駕駛員檔案數(shù)據(jù)庫中的駕駛員檔案(例如,使用駕駛員ID),位置確定110的語言匹配可識別所選擇的駕駛員的優(yōu)選語言。語言匹配可將用戶的優(yōu)選語言與所選擇的駕駛員的優(yōu)選語言進(jìn)行比較,以確定它們是否相同。如果優(yōu)選語言匹配,那么位置確定110不必執(zhí)行另一轉(zhuǎn)譯步驟,而是將(先前傳輸?shù)接脩舻目蛻舳搜b置170的)確定地址或位置信息傳輸?shù)今{駛員裝置180。另一方面,如果優(yōu)選語言并不匹配,那么位置確定110可再次執(zhí)行反向地理編碼過程(例如,以便接收使用駕駛員的優(yōu)選語言的地址193)和/或執(zhí)行將使用用戶的優(yōu)選語言的確定地址轉(zhuǎn)譯成駕駛員的優(yōu)選語言。
通過這種方式,在使用預(yù)定義反向地理編碼過程提供位置信息或街道地址方面,系統(tǒng)100提供許多益處。例如,如果第三方反向地理編碼服務(wù)不可用或無法訪問,那么系統(tǒng)100仍可使用其他資源將相關(guān)位置信息提供到客戶端裝置170的用戶。系統(tǒng)100的管理員可繼續(xù)更新內(nèi)部數(shù)據(jù)庫,例如,地理柵欄數(shù)據(jù)庫150,以便將更精細(xì)且基于時間的位置信息消息提供給用戶。當(dāng)?shù)缆?、街角、區(qū)域等因臨時事件(例如,馬拉松或城市節(jié)慶活動)而被封鎖或封閉時,這種精細(xì)且基于時間的信息可能比一般街道地址對用戶以及服務(wù)提供商更有用。此外,因為出于按需服務(wù)的目的,系統(tǒng)100將確定的地址或位置信息提供給客戶端裝置和駕駛員裝置兩者,所以用戶和所選擇的駕駛員可接收到相同的信息,而無需向第三方反向地理編碼服務(wù)發(fā)出兩次單獨的反向地理編碼請求(即,客戶端裝置和駕駛員裝置單獨請求)。
方法論
圖2A和圖2B示出根據(jù)實施方案的用于確定位置信息的示例性方法??墒褂美鐖D1的實施方案描述的部件來實施諸如由圖2A和圖2B的實例描述的方法。因此,出于示出用于執(zhí)行所述步驟或子步驟的合適元件或部件的目的,參考圖1的元件。
參見圖2A,系統(tǒng)100可通過一個或多個網(wǎng)絡(luò)從客戶端裝置接收位置數(shù)據(jù)點(205),諸如GPS數(shù)據(jù)點。在一些實例中,位置數(shù)據(jù)點可包括緯度、經(jīng)度和誤差值。如果所述誤差值小于閾值誤差值,那么系統(tǒng)100可執(zhí)行針對所接收位置數(shù)據(jù)點的反向地理編碼過程(210-250)。詳細(xì)描述諸如由圖1的位置確定110執(zhí)行的反向地理編碼過程的實例。
位置確定110確定位置數(shù)據(jù)點是否在多個預(yù)定義區(qū)域的一個預(yù)定義區(qū)域內(nèi)(210),所述多個預(yù)定義區(qū)域已經(jīng)被系統(tǒng)100的管理員配置。如果位置數(shù)據(jù)點在預(yù)定義區(qū)域內(nèi),那么位置確定110識別對應(yīng)于所述預(yù)定義區(qū)域的位置信息,并且將所述位置信息傳輸?shù)娇蛻舳搜b置(215)。關(guān)于多個預(yù)定義區(qū)域的信息可作為地理柵欄條目存儲在地理柵欄數(shù)據(jù)庫中。在一些實例中,地理柵欄條目可以是基于時間的,并且包括針對所述地理柵欄條目的時間段(例如,開始日期、開始時間、結(jié)束日期、結(jié)束時間等)。例如,地理柵欄條目可指定環(huán)繞和/或?qū)?yīng)于AT&T球場的區(qū)域,并且具有與在那里進(jìn)行的棒球比賽的日期和持續(xù)時間相關(guān)的時間段(例如,賽前一小時至賽后一小時)。用于AT&T球場的預(yù)定義區(qū)域的對應(yīng)位置信息文本串可列舉如下:“巨人比賽-步行至第三街道和布蘭南以便搭便車”。位置信息可以是提供信息的,以便引導(dǎo)用戶移動到另一個位置以便接送(例如像運(yùn)輸服務(wù)),因為實際地址/位置可能被人群擁塞和/或道路可能封閉。以此方式,出于按需服務(wù)的目的,向用戶的客戶端裝置提供的這種預(yù)配置位置信息對于用戶可能是更有用的。
如果位置數(shù)據(jù)點不在預(yù)定義區(qū)域內(nèi),那么位置確定110確定是否存在可用或可訪問的位置特定反向地理編碼服務(wù)(220)。例如,如果在從客戶端接收位置數(shù)據(jù)點時已經(jīng)達(dá)到速率限制,諸如每秒查詢(QPS)數(shù)量,那么第三方反向地理編碼服務(wù)可能是不可用的。在另一個實例中,如果向第三方反向地理編碼服務(wù)發(fā)出調(diào)用,并且響應(yīng)于所述調(diào)用未接收到任何地址(例如,由于第三方反向地理編碼服務(wù)的計算資源已經(jīng)失效或崩潰,或在至第三方反向地理編碼服務(wù)的網(wǎng)絡(luò)連通性已經(jīng)丟失時),那么第三方反向地理編碼服務(wù)可能是不可用的。
如果可訪問位置特定第三方反向地理編碼服務(wù)來將位置數(shù)據(jù)點轉(zhuǎn)譯成地址,那么位置確定110可將請求傳輸?shù)轿恢锰囟ǖ谌椒聪虻乩砭幋a服務(wù)(225)。所述請求可包括位置數(shù)據(jù)點。在一個實施方案中,還可以用戶的優(yōu)選語言發(fā)出針對街道地址的請求。位置特定第三方反向地理編碼服務(wù)可將位置數(shù)據(jù)點轉(zhuǎn)譯成街道地址并且將所述地址提供到位置確定110。位置確定可將地址傳輸?shù)娇蛻舳搜b置(228)。在一個變形中,如果位置特定第三方反向地理編碼服務(wù)不能夠提供位置數(shù)據(jù)點的地址,那么位置確定110可確定是否存在可用或可訪問的能夠提供所述轉(zhuǎn)譯的其他第三方反向地理編碼服務(wù)。如果不存在可用或可訪問的第三方反向地理編碼服務(wù),那么位置確定110可使用其他資源(諸如系統(tǒng)100的地圖數(shù)據(jù)庫)來確定位置信息或向客戶端裝置提供自定義文本串。
返回參見220,如果不可用或不可訪問位置特定第三方反向地理編碼服務(wù)來將位置數(shù)據(jù)點轉(zhuǎn)譯成地址,那么位置確定110可確定(與位置特定第三方反向地理編碼服務(wù)相比)更大更通用的第三方反向地理編碼服務(wù)(例如像由谷歌公司提供的反向地理編碼服務(wù))是否是訪問的(230)。如果可訪問更大更通用的第三方反向地理編碼服務(wù),那么位置確定110將請求傳輸?shù)剿鑫恢锰囟ǖ谌椒聪虻乩砭幋a服務(wù)(235)。位置確定110可接收已轉(zhuǎn)譯地址并且將所述地址傳輸?shù)娇蛻舳搜b置(238)。
在一些情況下,第三方反向地理編碼服務(wù)不可用于系統(tǒng)100或不可由系統(tǒng)100訪問。如果沒有可訪問或可用的第三方反向地理編碼服務(wù),那么位置確定110可確定系統(tǒng)100的地圖數(shù)據(jù)庫(例如,由系統(tǒng)100維持的內(nèi)部數(shù)據(jù)庫)是否可用來將位置數(shù)據(jù)點轉(zhuǎn)譯成地址(240)。如果地圖數(shù)據(jù)庫是可用的,那么位置確定110可使用位置數(shù)據(jù)點從地圖數(shù)據(jù)庫檢索存儲的地址或位置信息并且將檢索的地址傳輸?shù)娇蛻舳搜b置(245)。如果地圖數(shù)據(jù)庫是不可用的(或如果沒有發(fā)現(xiàn)對應(yīng)于位置數(shù)據(jù)點的地址),那么系統(tǒng)100可識別待傳輸?shù)娇蛻舳搜b置的指定文本串(250)(例如,“地址是不可用的”、“選擇另一個位置”、“打電話給您的駕駛員”)。
雖然已經(jīng)以位置確定110訪問或嘗試訪問多個資源的特定次序描述了圖2A,但是取決于變形,資源的其他次序或排名是可能的。在其他實例中,位置確定110可能不訪問或不會嘗試訪問某些資源。例如,當(dāng)已經(jīng)達(dá)到針對第三方反向地理編碼服務(wù)的總QPS限制時,位置確定110可能不訪問第三方地理編碼服務(wù),而是訪問另一個資源(例如,系統(tǒng)100的地圖數(shù)據(jù)庫)或其他內(nèi)部數(shù)據(jù)庫。另外,不同的資源可用于不同的地理區(qū)域,位置數(shù)據(jù)點位于所述地理區(qū)域中。
例如,圖2B示出根據(jù)實施方案的用于確定位置信息的另一個實例。圖2B類似于圖2A,例外的是,在圖2B中,位置確定110不會單獨地訪問或嘗試訪問位置特定第三方反向地理編碼服務(wù)。位置確定110接收來自客戶端裝置的位置數(shù)據(jù)點(255)并且確定所述位置數(shù)據(jù)點是否在預(yù)定義區(qū)域內(nèi)(260)。如果是,那么將對應(yīng)于預(yù)定義區(qū)域的已識別位置信息傳輸?shù)娇蛻舳搜b置(265)。
如果位置數(shù)據(jù)點不在預(yù)定義區(qū)域內(nèi),那么位置確定110確定第三方反向地理編碼服務(wù)是否是可用或可訪問的(270)。如果第三方反向地理編碼服務(wù)是可用或可訪問的,那么位置確定110將請求傳輸?shù)剿龇?wù)(275)。第三方反向地理編碼服務(wù)可執(zhí)行位置數(shù)據(jù)點至地址(諸如街道地址)的轉(zhuǎn)譯,并且將結(jié)果返回到位置確定110。位置確定110可將地址傳輸?shù)娇蛻舳搜b置(278)。
如果沒有可用或可訪問的第三方反向地理編碼服務(wù),那么位置確定110確定系統(tǒng)100的地圖數(shù)據(jù)庫是否是可用的(280)。如果是,那么從所述地圖數(shù)據(jù)庫檢索對應(yīng)于位置數(shù)據(jù)點的位置信息或地址并且將其傳輸?shù)娇蛻舳搜b置(285)。如果系統(tǒng)100的地圖數(shù)據(jù)庫是不可用的,那么位置確定110可識別自定義文本串,以傳輸?shù)娇蛻舳搜b置(290)。
圖3示出根據(jù)另一個實施方案的用于確定位置信息的示例性方法??墒褂美鐖D1的實施方案描述的部件來實施諸如由圖3的實例描述的方法。因此,出于示出用于執(zhí)行所述步驟或子步驟的合適元件或部件的目的,參考圖1的元件。
系統(tǒng)100可接收來自客戶端裝置的位置數(shù)據(jù)點(310)。客戶端裝置可運(yùn)行服務(wù)應(yīng)用,例如,在所述服務(wù)應(yīng)用中客戶端裝置的用戶可指定與按需服務(wù)或基于位置的服務(wù)一起使用的位置。在一個實例中,服務(wù)應(yīng)用可提供地圖界面,其中用戶可通過在所述地圖界面上移動圖形特征來選擇位置。所選擇位置可對應(yīng)于位置數(shù)據(jù)點,諸如緯度和經(jīng)度。
響應(yīng)于接收所述位置數(shù)據(jù)點,位置確定110執(zhí)行反向地理編碼過程來確定對應(yīng)于所接收位置數(shù)據(jù)點的地址或位置信息(320)。在一些實例中,反向地理編碼過程可對應(yīng)于圖2A的步驟210-250或圖2B的步驟260-290。位置確定110向客戶端裝置提供反向地理編碼過程的結(jié)果,例如,地址、位置信息或自定義文本串。用戶在他或她發(fā)出運(yùn)輸請求之前還可繼續(xù)在地圖界面上改變位置,或在一些實施方案中,用戶甚至可在已經(jīng)發(fā)出運(yùn)輸請求之后(但在駕駛員的估計到達(dá)時間之前的預(yù)定時間之前)改變位置。每次客戶端裝置向系統(tǒng)100提供不同的位置數(shù)據(jù)點時(例如,每次用戶在服務(wù)應(yīng)用的地圖界面上移動圖形特征時),位置確定110可繼續(xù)執(zhí)行反向地理編碼過程(320)。
在一些實例中,用戶可使用位置數(shù)據(jù)點通過客戶端裝置向系統(tǒng)100發(fā)出按需服務(wù)請求(例如,遞送請求、娛樂服務(wù)請求、運(yùn)輸請求等)(330)。系統(tǒng)100可安排由服務(wù)提供商提供給用戶的按需服務(wù)。例如,系統(tǒng)100可使用關(guān)于運(yùn)輸服務(wù)請求的信息、關(guān)于用戶的信息和關(guān)于對應(yīng)于位置數(shù)據(jù)點的地理區(qū)域中可用駕駛員的信息來選擇一位駕駛員提供運(yùn)輸服務(wù)(340)。在其他按需服務(wù)實例中,系統(tǒng)100可選擇用于執(zhí)行遞送服務(wù)的特定駕駛員、選擇用于提供食品服務(wù)的食品賣主等。可向用戶的客戶端裝置和駕駛員的駕駛員裝置兩者提供關(guān)于運(yùn)輸服務(wù)的信息。
例如,對于運(yùn)輸服務(wù)來說,駕駛員應(yīng)當(dāng)了解用戶指定的接送位置。用戶指定接送位置并且可通過圖2A或2B所述的反向地理編碼過程來接收由系統(tǒng)100識別的街道地址或位置信息。也應(yīng)當(dāng)向駕駛員提供此類信息。在一個實施方案中,位置確定110可以用戶的優(yōu)選語言向用戶提供地址或位置信息。位置確定110可確定用戶的優(yōu)選語言是否匹配駕駛員的優(yōu)選語言(350)。如果優(yōu)選語言匹配,那么位置確定110可將已經(jīng)確定的地址或位置信息傳輸?shù)今{駛員的裝置(355)。
另一方面,如果用戶的優(yōu)選語言不匹配駕駛員的優(yōu)選語言,那么位置確定110可(i)執(zhí)行已確定地址或位置信息的轉(zhuǎn)譯,(ii)訪問第三方轉(zhuǎn)譯服務(wù)來執(zhí)行已確定地址或位置信息的轉(zhuǎn)譯,和/或(iii)再次執(zhí)行反向地理編碼過程,所述反向地理編碼過程可包括向第三方反向地理編碼服務(wù)發(fā)出反向地理編碼請求以得到駕駛員的優(yōu)選語言的地址或位置信息(360)??上蝰{駛員的裝置提供駕駛員的優(yōu)選語言的地址或位置信息(370)。
硬件圖
圖4是示出可實施本文所述實施方案的計算機(jī)系統(tǒng)的框圖。例如,在圖1的上下文中,可以使用諸如由圖4所述的計算機(jī)系統(tǒng)來實施系統(tǒng)100。還可以使用如由圖4所述的多個計算機(jī)系統(tǒng)的組合來實施系統(tǒng)100。
在一個實現(xiàn)方式中,計算機(jī)系統(tǒng)400包括處理資源410、主存儲器420、只讀存儲器(ROM)430、存儲裝置440和通信接口450。計算機(jī)系統(tǒng)400包括用于處理信息的至少一個處理器410和用于存儲將由處理器410執(zhí)行的信息和指令的主存儲器420,諸如隨機(jī)存取存儲器(RAM)或其他動態(tài)存儲裝置。主存儲器420還可用于在執(zhí)行將由處理器410執(zhí)行的指令期間存儲臨時變量或其他中間信息。計算機(jī)系統(tǒng)400還可包括ROM 430或用于為處理器410存儲靜態(tài)信息和指令的其他靜態(tài)存儲裝置。存儲裝置440,諸如磁盤或光盤,被提供用于存儲信息和指令,包括用于實施圖1的系統(tǒng)100的部件的指令。根據(jù)一些實例,處理器410可執(zhí)行存儲在ROM 430和/或存儲裝置440中的指令以便實施用于執(zhí)行反向地理編碼過程(諸如圖1至3所述)的邏輯。
通信接口450可使計算機(jī)系統(tǒng)400能夠通過網(wǎng)絡(luò)鏈路(無線或有線)的使用來與一個或多個網(wǎng)絡(luò)480(例如,蜂窩網(wǎng)絡(luò))通信。計算機(jī)系統(tǒng)400可使用網(wǎng)絡(luò)鏈路來與一個或多個計算裝置和一個或多個服務(wù)器通信。在一些變形中,計算機(jī)系統(tǒng)400可通過網(wǎng)絡(luò)鏈路從一個或多個客戶端裝置接收位置數(shù)據(jù)點452。位置數(shù)據(jù)點452可由處理器410處理,以便確定對應(yīng)于位置數(shù)據(jù)點452的地址或位置信息。可通過網(wǎng)絡(luò)480將已確定的地址信息454傳輸?shù)娇蛻舳搜b置(例如,提供了位置數(shù)據(jù)點452的所述客戶端裝置)和/或已被選擇來為所述客戶端裝置的用戶提供運(yùn)輸服務(wù)的駕駛員的駕駛員裝置。
計算機(jī)系統(tǒng)400還可包括用于向用戶顯示圖形和信息的顯示裝置460,諸如陰極射線管(CRT)、LCD監(jiān)視器或電視機(jī)。輸入機(jī)構(gòu)470,諸如包括字母數(shù)字鍵和其他鍵的鍵盤,可耦合到計算機(jī)系統(tǒng)400以將信息和命令選擇傳送到處理器410。輸入機(jī)構(gòu)470的其他非限制性、說明性實例包括鼠標(biāo)、跟蹤球、觸敏屏幕或光標(biāo)方向鍵,所述光標(biāo)方向鍵用于將方向信息和命令選擇傳送到處理器410并且用于控制顯示器460上的光標(biāo)移動。
本文所述的實例涉及使用計算機(jī)系統(tǒng)400來實施本文所述的技術(shù)。根據(jù)一個實施方案,響應(yīng)于處理器410執(zhí)行主存儲器420中所包含的一個或多個指令的一個或多個序列,那些技術(shù)由計算機(jī)系統(tǒng)400執(zhí)行。此類指令可從另一個機(jī)器可讀介質(zhì)諸如存儲裝置440讀入主存儲器420中。執(zhí)行主存儲器420中所包含的指令序列致使處理器410執(zhí)行本文所述的過程步驟。在替代性實現(xiàn)方式中,硬接線電路可代替軟件指令或與軟件指令組合使用來實施本文所述的實例。因此,所述實例不限于硬件電路和軟件的任何具體組合。
圖5是示出可實施本文所述實施方案的移動計算裝置的框圖。在一個實施方案中,計算裝置500可對應(yīng)于能夠進(jìn)行電話服務(wù)、消息接發(fā)和數(shù)據(jù)服務(wù)的移動計算裝置,諸如蜂窩裝置。計算裝置500可對應(yīng)于客戶端裝置或駕駛員裝置。此類裝置的實例包括蜂窩運(yùn)營商的智能電話、手持機(jī)或平板裝置。計算裝置500包括處理器510、存儲器資源520、顯示裝置530(例如像觸敏顯示裝置)、一個或多個通信子系統(tǒng)540(包括無線通信子系統(tǒng))、輸入機(jī)構(gòu)550(例如,輸入機(jī)構(gòu)可包括觸敏顯示裝置或可以是觸敏顯示裝置的一部分)和一個或多個位置檢測機(jī)構(gòu)(例如,GPS部件)560。在一個實例中,通信子系統(tǒng)540中的至少一個通過數(shù)據(jù)信道和語音信道發(fā)送和接收蜂窩數(shù)據(jù)。
處理器510被配置有執(zhí)行利用諸如由圖1至4和本申請的其他處描述的實現(xiàn)方式所述的一個或多個過程、步驟和其他功能的軟件和/或其他邏輯。處理器510被配置來利用存儲在存儲器資源520中的指令和數(shù)據(jù)操作如圖1至4所述的服務(wù)應(yīng)用。例如,用于操作服務(wù)應(yīng)用以便顯示用戶界面的指令可存儲在計算裝置500的存儲器資源520中。
用戶可在計算裝置500上操作服務(wù)應(yīng)用,以便可(例如,使用GPS部件560)為所選擇位置確定位置數(shù)據(jù)點565??赏ㄟ^通信子系統(tǒng)540來將位置數(shù)據(jù)點565無線地傳輸?shù)较到y(tǒng)。所述系統(tǒng)可執(zhí)行反向地理編碼過程來確定對應(yīng)于位置數(shù)據(jù)點565的地址或位置信息并且將已確定的地址或位置信息傳輸?shù)接嬎阊b置500。處理器510可處理地址信息545來將作為用戶界面515的一部分的地址提供在顯示器530上。
例如,處理器510可通過執(zhí)行存儲在存儲器資源520中的指令和/或應(yīng)用來將各種內(nèi)容提供到顯示器730??捎商幚砥?10提供一個或多個用戶界面515,諸如用于服務(wù)應(yīng)用的用戶界面,所述一個或多個用戶界面515可包括所接收地址信息545。雖然圖5針對移動計算裝置進(jìn)行說明,但是可在其他類型的裝置上實施一個或多個實施方案,所述裝置包括全功能計算機(jī),諸如膝上型計算機(jī)和臺式計算機(jī)(例如,PC)。
可以設(shè)想本文所述的實例擴(kuò)展至本文所述的單獨元件和概念(獨立于其他概念、思想或系統(tǒng)),以及可以設(shè)想實例包括本申請中任意處列舉的元件的組合。盡管本文參考附圖詳細(xì)描述實例,但是要理解,概念不限于那些明確的實例。因此,本概念的范圍意在由隨附權(quán)利要求書和其等同物來限定。此外,可設(shè)想單獨地或作為實例的一部分描述的特定特征可與其他單獨描述的特征或其他實例的部分組合,即使其他特征和實例沒有提及所述特定特征。因此,即使沒有描述這種組合,也應(yīng)該阻止要求對這種組合的權(quán)利。