繪圖應(yīng)用通常用在智能電話和其他移動(dòng)計(jì)算設(shè)備中。典型地,繪圖應(yīng)用從繪圖服務(wù)請(qǐng)求地圖信息,然后呈現(xiàn)地圖信息的圖形表示。在繪圖應(yīng)用內(nèi),用戶可以查看各種類型的地圖(例如,街道視圖,鳥(niǎo)瞰圖),搜索地址,搜索特定位置,搜索位置類型,檢索到達(dá)某個(gè)位置的指引,查看交通狀況,或執(zhí)行另一導(dǎo)航相關(guān)的動(dòng)作。
盡管繪圖應(yīng)用對(duì)于執(zhí)行導(dǎo)航相關(guān)的動(dòng)作是有用的,但是在許多情況下,它們不能執(zhí)行合并了其他非導(dǎo)航動(dòng)作的更復(fù)雜的任務(wù)。例如,用戶可以(1)使用Web瀏覽器來(lái)找到某個(gè)位置,(2)打開(kāi)繪圖應(yīng)用以獲得地圖信息和到該位置的指引,(3)打開(kāi)另一應(yīng)用以讀取關(guān)于該位置的評(píng)論,(4)打開(kāi)電話應(yīng)用以呼叫該位置處的商家,然后(5)打開(kāi)消息傳送應(yīng)用以與朋友共享關(guān)于該位置的信息。當(dāng)在應(yīng)用之間切換時(shí),用戶經(jīng)常必須將相關(guān)信息(例如,地址、商家名稱、電話號(hào)碼)從一個(gè)應(yīng)用復(fù)制到另一應(yīng)用,以便在該另一應(yīng)用中使用該信息。因此,為了完成復(fù)雜的一系列動(dòng)作,用戶找到適合于某個(gè)動(dòng)作的應(yīng)用,啟動(dòng)應(yīng)用,復(fù)制信息并執(zhí)行該動(dòng)作,然后繼續(xù)針對(duì)下一個(gè)動(dòng)作的下一個(gè)應(yīng)用,等等,直到該系列動(dòng)作被完成為止。除步驟的數(shù)目外,用戶還在不同的上下文之間切換,這可能是混亂的并且導(dǎo)致信息的丟失。
諸如Web瀏覽器或基于軟件的個(gè)人助理之類的應(yīng)用可以“托管”地圖。在這種情況下,在應(yīng)用的屏幕區(qū)域中呈現(xiàn)地圖。例如,應(yīng)用從繪圖服務(wù)請(qǐng)求地圖信息,然后在其屏幕區(qū)域的一部分以圖形方式呈現(xiàn)地圖信息。在許多情況下,應(yīng)用不向用戶展示與地圖中的位置相關(guān)的動(dòng)作(例如,獲取指引,呼叫電話號(hào)碼,共享位置)。因此,切換到其他應(yīng)用為用戶增加了步驟(啟動(dòng)其他應(yīng)用,在應(yīng)用之間復(fù)制信息,以及執(zhí)行動(dòng)作)。在少數(shù)情況下,諸如Web瀏覽器或基于軟件的個(gè)人助理之類的應(yīng)用可以向用戶展示位置相關(guān)的動(dòng)作,但是以特定于應(yīng)用的方式呈現(xiàn)動(dòng)作。在應(yīng)用與應(yīng)用之間,不以一致的方式呈現(xiàn)與位置相關(guān)的動(dòng)作。因此,用戶體驗(yàn)在應(yīng)用之間是不一致的,這可能使用戶混亂。
技術(shù)實(shí)現(xiàn)要素:
總之,具體實(shí)施方式提出了在呈現(xiàn)位置相關(guān)的動(dòng)作和位置信息的領(lǐng)域的創(chuàng)新。例如,應(yīng)用調(diào)用操作系統(tǒng)(“OS”)以生成位置卡,位置卡可以包括位置的地圖以及關(guān)于位置的附加信息和一個(gè)或多個(gè)動(dòng)作指示符。利用動(dòng)作指示符,用戶可以立即并直接從位置卡啟動(dòng)應(yīng)用以執(zhí)行與位置相關(guān)的動(dòng)作,而無(wú)需手動(dòng)找到應(yīng)用,啟動(dòng)應(yīng)用,在應(yīng)用之間復(fù)制相關(guān)信息以及發(fā)起動(dòng)作。根據(jù)使用場(chǎng)景,請(qǐng)求位置卡的應(yīng)用可以指定要用位置卡中的動(dòng)作指示符表示的不同動(dòng)作。同時(shí),由OS支持的位置卡在應(yīng)用與應(yīng)用之間提供了向用戶展示位置信息和位置相關(guān)動(dòng)作的一致方式。
根據(jù)本文所描述的創(chuàng)新的一個(gè)方面,響應(yīng)于通過(guò)OS的接口的一個(gè)或多個(gè)調(diào)用,OS生成用于位置的位置卡。位置卡可以包括(a)用于該位置的地圖;(b)關(guān)于位置的細(xì)節(jié);和/或(c)一個(gè)或多個(gè)動(dòng)作指示符。(多個(gè))動(dòng)作指示符中的每一個(gè)鏈接到能夠執(zhí)行對(duì)應(yīng)動(dòng)作的應(yīng)用。例如,當(dāng)它生成位置卡時(shí),OS在計(jì)算系統(tǒng)的存儲(chǔ)器中創(chuàng)建結(jié)構(gòu)。該結(jié)構(gòu)定義了地圖的視覺(jué)元素和性質(zhì)、附加細(xì)節(jié)的視覺(jué)元素和性質(zhì)、以及(多個(gè))動(dòng)作指示符的視覺(jué)元素和性質(zhì)。
對(duì)OS的(多個(gè))調(diào)用提供關(guān)于位置卡的信息。例如,(多個(gè))調(diào)用提供:(1)指定地圖類型的一個(gè)或多個(gè)參數(shù);(2)指定關(guān)于位置的細(xì)節(jié)的一個(gè)或多個(gè)參數(shù);(3)為(多個(gè))動(dòng)作指示符中的每一個(gè)指定所鏈接的應(yīng)用和對(duì)應(yīng)動(dòng)作的一個(gè)或多個(gè)參數(shù);(4)指定位置卡的字體尺寸、字體顏色、字體類型、邊框?qū)挾?、邊框顏色、邊框類型、高度、寬度、位置和背景顏色中的一個(gè)或多個(gè)的一個(gè)或多個(gè)參數(shù);和/或(5)指定位置卡的模板的一個(gè)或多個(gè)參數(shù)。當(dāng)其生成位置卡時(shí),OS可以選擇用于位置卡的模板,然后使用在(多個(gè))調(diào)用中提供的一個(gè)或多個(gè)參數(shù)來(lái)填充模板的至少一些字段。模板的其他字段可以具有默認(rèn)值。
OS可以根據(jù)各種因素來(lái)調(diào)整位置卡。例如,OS評(píng)估計(jì)算系統(tǒng)的顯示設(shè)備的屏幕的尺寸和/或取向,然后至少部分地基于評(píng)估的結(jié)果來(lái)調(diào)整位置卡?;蛘撸鳛榱硪皇纠?,OS基于優(yōu)先級(jí)信息確定地圖、附加細(xì)節(jié)和(多個(gè))動(dòng)作指示符中的哪一個(gè)要包括在位置卡中,然后至少部分地基于評(píng)估的結(jié)果來(lái)調(diào)整位置卡。
在生成位置卡之后,OS輸出位置卡以用于顯示。例如,OS將位置卡再現(xiàn)到表面,將位置卡的各種元素合成到表面上,該表面用于更新顯示設(shè)備的屏幕。位置卡可以以各種方式再現(xiàn)。例如,位置卡可以替換(在要顯示的表面上)請(qǐng)求位置卡的應(yīng)用的內(nèi)容。在這種情況下,當(dāng)用戶關(guān)閉位置卡時(shí),OS從顯示器中移除位置卡(更新要顯示的表面),并輸出應(yīng)用的先前內(nèi)容用于顯示?;蛘?,位置卡可以被再現(xiàn),以作為之前為顯示(在要顯示的表面上)而再現(xiàn)的其他內(nèi)容上方的飛出對(duì)象進(jìn)行顯示。在這種情況下,當(dāng)用戶在飛出對(duì)象之外提供用戶輸入時(shí),OS從顯示器中移除飛出對(duì)象(更新要顯示的表面),并輸出其他內(nèi)容用于顯示??梢詥为?dú)顯示位置卡?;蛘?,位置卡可以是輸出用于顯示的多個(gè)位置卡的棧的一部分。
在輸出位置卡以用于顯示之后,OS可接收用于致動(dòng)動(dòng)作指示符的用戶輸入。例如,響應(yīng)于給定動(dòng)作指示符的致動(dòng),OS啟動(dòng)鏈接到給定動(dòng)作指示符的應(yīng)用,并且向所啟動(dòng)的應(yīng)用提供信息,以便所啟動(dòng)的應(yīng)用針對(duì)給定動(dòng)作指示符執(zhí)行對(duì)應(yīng)的動(dòng)作。OS還可以輸出所啟動(dòng)的應(yīng)用的視圖(例如,如果應(yīng)用沒(méi)有作為后臺(tái)任務(wù)運(yùn)行)以供顯示。稍后,在已經(jīng)執(zhí)行動(dòng)作并關(guān)閉了所啟動(dòng)的應(yīng)用之后,OS可移除所啟動(dòng)的應(yīng)用的視圖(如果有的話)(更新要顯示的表面),并輸出位置卡以用于再次顯示。
根據(jù)本文所描述的創(chuàng)新的另一方面,應(yīng)用接收指示對(duì)位置的興趣的通知。例如,通知是在計(jì)算系統(tǒng)的顯示設(shè)備的屏幕上的在位置的表示上的用戶輸入,諸如鼠標(biāo)輸入或觸摸屏輸入?;蛘?,由應(yīng)用接收到的通知是在應(yīng)用內(nèi)基于由應(yīng)用識(shí)別的在位置和用戶簡(jiǎn)檔或用戶偏好之間的關(guān)聯(lián)而觸發(fā)的事件。
響應(yīng)于該通知,應(yīng)用通過(guò)OS的接口做出指定該位置的位置卡的一個(gè)或多個(gè)調(diào)用。位置卡可以包括(a)用于位置的地圖;(b)關(guān)于位置的細(xì)節(jié);和/或(c)一個(gè)或多個(gè)動(dòng)作指示符。(多個(gè))動(dòng)作指示符中的每一個(gè)鏈接到能夠執(zhí)行對(duì)應(yīng)動(dòng)作的應(yīng)用。(多個(gè))動(dòng)作指示符可以全都表示要直接呈現(xiàn)在位置卡中的主動(dòng)作?;蛘撸擞糜谥鲃?dòng)作的任何動(dòng)作指示符之外,(多個(gè))動(dòng)作指示符可以包括用于次動(dòng)作的至少一個(gè)動(dòng)作指示符,次動(dòng)作不是直接在位置卡中呈現(xiàn),而是可以使用位置卡來(lái)訪問(wèn)。
(多個(gè))調(diào)用提供關(guān)于位置卡的信息。例如,(多個(gè))調(diào)用提供:(1)指定地圖類型的一個(gè)或多個(gè)參數(shù);(2)指定關(guān)于位置的細(xì)節(jié)的一個(gè)或多個(gè)參數(shù);(3)為(多個(gè))動(dòng)作指示符中的每一個(gè)指定所鏈接的應(yīng)用和對(duì)應(yīng)動(dòng)作的一個(gè)或多個(gè)參數(shù);(4)指定位置卡的字體尺寸、字體顏色、字體類型、邊框?qū)挾?、邊框顏色、邊框類型、高度、寬度、位置和背景顏色中的一個(gè)或多個(gè)的一個(gè)或多個(gè)參數(shù);和/或(5)指定位置卡的模板的一個(gè)或多個(gè)參數(shù)。
應(yīng)用可以根據(jù)各種因素來(lái)調(diào)整指定位置卡的(多個(gè))調(diào)用。例如,應(yīng)用評(píng)估計(jì)算系統(tǒng)的顯示設(shè)備的屏幕的尺寸和/或取向,然后至少部分地基于評(píng)估的結(jié)果來(lái)調(diào)整指定位置卡的(多個(gè))調(diào)用中的一個(gè)或多個(gè)?;蛘?,作為另一示例,應(yīng)用評(píng)估計(jì)算系統(tǒng)的一個(gè)或多個(gè)設(shè)置和/或一個(gè)或多個(gè)條件,然后,基于評(píng)估的結(jié)果,確定地圖的類型?;蛘?,作為另一示例,應(yīng)用確定位置的定制視圖,其中定制視圖用作該位置的地圖?;蛘?,作為另一示例,應(yīng)用請(qǐng)求搜索位置的地址,接收搜索的結(jié)果,并過(guò)濾搜索的結(jié)果以確定要包括在位置卡中的關(guān)于位置的細(xì)節(jié)?;蛘?,作為另一示例,對(duì)于一個(gè)或多個(gè)動(dòng)作指示符中的每一個(gè),應(yīng)用識(shí)別關(guān)于位置的相關(guān)信息,確定針對(duì)相關(guān)信息的對(duì)應(yīng)動(dòng)作,并確定能夠執(zhí)行對(duì)應(yīng)動(dòng)作的應(yīng)用。
創(chuàng)新可以被實(shí)現(xiàn)為方法的一部分,適于執(zhí)行該方法的計(jì)算系統(tǒng)的一部分或存儲(chǔ)用于使計(jì)算系統(tǒng)執(zhí)行該方法的計(jì)算機(jī)可執(zhí)行指令的有形計(jì)算機(jī)可讀介質(zhì)的一部分。各種創(chuàng)新可以組合或單獨(dú)使用。
通過(guò)參照附圖進(jìn)行的以下具體實(shí)施方式,本發(fā)明的前述和其它的目的、特征和優(yōu)點(diǎn)將變得更加顯而易見(jiàn)。
附圖說(shuō)明
圖1是其中可以實(shí)現(xiàn)一些所描述的實(shí)施例的示例計(jì)算系統(tǒng)的圖。
圖2是其中可以實(shí)現(xiàn)一些所描述的實(shí)施例的示例云計(jì)算環(huán)境的圖。
圖3是圖示出其中OS支持位置卡的示例軟件架構(gòu)的框圖。
圖4a和4b是分別圖示出用于請(qǐng)求位置卡和生成位置卡的一般化技術(shù)的流程圖。
圖5a-5c是圖示出用于生成位置卡的示例技術(shù)的流程圖。
圖6a-6d、7a-7c和8a-8c是圖示出位置卡的創(chuàng)建和使用的示例的圖。
圖9,10.11a-11d和12是圖示出位置卡的示例配置的圖。
具體實(shí)施方式
該具體實(shí)施方式提出了在呈現(xiàn)位置相關(guān)動(dòng)作和位置信息的領(lǐng)域的創(chuàng)新。例如,應(yīng)用調(diào)用操作系統(tǒng)(“OS”)來(lái)生成位置卡。位置卡可以示出位置的地圖以及關(guān)于位置的附加信息和一個(gè)或多個(gè)動(dòng)作指示符。利用動(dòng)作指示符,用戶可以立即并直接從位置卡啟動(dòng)應(yīng)用以執(zhí)行位置相關(guān)動(dòng)作,而無(wú)需手動(dòng)找到應(yīng)用,啟動(dòng)應(yīng)用,在應(yīng)用之間復(fù)制相關(guān)信息以及發(fā)起動(dòng)作。根據(jù)使用場(chǎng)景,應(yīng)用可以指定要用位置卡中的動(dòng)作指示符表示的不同動(dòng)作。同時(shí),OS所支持的位置卡提供了向用戶展示位置信息和位置相關(guān)動(dòng)作的一致方式。
本文描述的許多操作被描述為由調(diào)用OS的應(yīng)用或由OS啟動(dòng)的應(yīng)用執(zhí)行。一般來(lái)說(shuō),如本文所使用的術(shù)語(yǔ),應(yīng)用可以是除了生成位置卡的(多個(gè))OS模塊之外的任何類型的軟件。在許多示例中,與由許多OS模塊使用的內(nèi)核模式(或內(nèi)核空間)相反,應(yīng)用是在用戶模式(或用戶空間)中執(zhí)行的軟件,并且與僅作為后臺(tái)任務(wù)執(zhí)行相反,應(yīng)用具有前臺(tái)用戶界面(“UI”)組件。本文描述為由OS執(zhí)行的操作可以由OS的模塊中的任何模塊或組合來(lái)執(zhí)行,一般而言,OS是管理計(jì)算系統(tǒng)的計(jì)算機(jī)硬件和軟件資源并為在計(jì)算系統(tǒng)中執(zhí)行的軟件提供公共服務(wù)的任何軟件。
在本文所描述的示例中,不同圖中的相同附圖標(biāo)記指示相同的組件或模塊。根據(jù)上下文,給定的組件或模塊可以接受不同類型的信息作為輸入和/或生成不同類型的信息作為輸出。
更一般地,本文描述的示例的各種替代方案是可能的。例如,可以通過(guò)改變所描述的方法動(dòng)作的排序,通過(guò)分割,重復(fù)或省略某些方法動(dòng)作來(lái)改動(dòng)本文所描述的方法中的一些。所公開(kāi)的技術(shù)的各個(gè)方面可以組合或單獨(dú)使用。不同的實(shí)施例使用所描述的創(chuàng)新中的一個(gè)或多個(gè)。本文所描述的創(chuàng)新中的一些解決了
背景技術(shù):
中提到的問(wèn)題中的一個(gè)或多個(gè)。典型地,給定的技術(shù)/工具不解決所有這樣的問(wèn)題。
I.示例計(jì)算系統(tǒng)
圖1圖示出了其中可以實(shí)現(xiàn)所描述的創(chuàng)新中的若干創(chuàng)新的示例計(jì)算系統(tǒng)(100)的一般化示例。計(jì)算系統(tǒng)(100)并不旨在暗示對(duì)使用或功能的范圍的任何限制,因?yàn)閯?chuàng)新可以在多種計(jì)算系統(tǒng)中實(shí)現(xiàn),包括適于呈現(xiàn)位置相關(guān)信息和動(dòng)作的專用計(jì)算系統(tǒng)。
參考圖1,計(jì)算系統(tǒng)(100)包括一個(gè)或多個(gè)處理單元(110,115)和存儲(chǔ)器(120,125)。處理單元(110,115)執(zhí)行計(jì)算機(jī)可執(zhí)行指令。處理單元可以是中央處理單元(“CPU”)、專用集成電路(“ASIC”)中的處理器或任何其他類型的處理器。在多處理系統(tǒng)中,多個(gè)處理單元執(zhí)行計(jì)算機(jī)可執(zhí)行指令以增加處理能力。例如,圖1示出了中央處理單元(110)以及圖形處理單元或協(xié)處理單元(115)。有形存儲(chǔ)器(120,125)可以是可由(多個(gè))處理單元訪問(wèn)的易失性存儲(chǔ)器(例如,寄存器、高速緩存器,RAM)、非易失性存儲(chǔ)器(例如,ROM、EEPROM、閃存等)或兩者的某種組合。存儲(chǔ)器(120,125)以適合于由(多個(gè))處理單元執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的形式存儲(chǔ)實(shí)現(xiàn)用于OS對(duì)位置卡的支持的一個(gè)或多個(gè)創(chuàng)新的軟件(180)。
計(jì)算系統(tǒng)可以具有附加特征。例如,計(jì)算系統(tǒng)(100)包括存儲(chǔ)裝置(140)、一個(gè)或多個(gè)輸入設(shè)備(150)、一個(gè)或多個(gè)輸出設(shè)備(160)和一個(gè)或多個(gè)通信連接(170)。諸如總線、控制器或網(wǎng)絡(luò)之類的互連機(jī)構(gòu)(未示出)將計(jì)算系統(tǒng)(100)的組件互連。典型地,OS軟件(未示出)為在計(jì)算系統(tǒng)(100)中執(zhí)行的其他軟件提供操作環(huán)境,并且協(xié)調(diào)計(jì)算系統(tǒng)(100)的組件的活動(dòng)。
有形存儲(chǔ)裝置(140)可以是可移除的或不可移除的,并且包括磁盤、磁帶或盒、CD-ROM、DVD或可用于存儲(chǔ)信息并且可以在計(jì)算系統(tǒng)(100)內(nèi)訪問(wèn)的任何其它介質(zhì)。存儲(chǔ)裝置(140)存儲(chǔ)用于軟件(180)的指令,該軟件(180)實(shí)現(xiàn)用于OS對(duì)位置卡的支持的一個(gè)或多個(gè)創(chuàng)新。
(多個(gè))輸入設(shè)備(150)可以是諸如鍵盤、鼠標(biāo)、筆或軌跡球之類的觸摸輸入設(shè)備、語(yǔ)音輸入設(shè)備、掃描設(shè)備、觸摸屏或向計(jì)算系統(tǒng)(100)提供輸入的另一設(shè)備。(多個(gè))輸出設(shè)備(160)可以是顯示器、打印機(jī)、揚(yáng)聲器、CD刻錄機(jī)或提供來(lái)自計(jì)算系統(tǒng)(100)的輸出的另一設(shè)備。
(多個(gè))通信連接(170)使能通過(guò)通信介質(zhì)到另一計(jì)算實(shí)體的通信。通信介質(zhì)在調(diào)制的數(shù)據(jù)信號(hào)中傳送諸如計(jì)算機(jī)可執(zhí)行指令或其它數(shù)據(jù)之類的信息。調(diào)制的數(shù)據(jù)信號(hào)是以在信號(hào)中編碼信息這樣的方式設(shè)置或改變其一個(gè)或多個(gè)特性的信號(hào)。作為示例而非限制,通信介質(zhì)可以使用電、光、RF或其它載波。
可以在計(jì)算機(jī)可讀介質(zhì)的一般上下文中描述創(chuàng)新。計(jì)算機(jī)可讀介質(zhì)是可以在計(jì)算環(huán)境內(nèi)訪問(wèn)的任何可用的有形介質(zhì)。作為示例而非限制,對(duì)于計(jì)算系統(tǒng)(100)而言,計(jì)算機(jī)可讀介質(zhì)包括存儲(chǔ)器(120,125)、存儲(chǔ)裝置(140)以及以上各項(xiàng)中的任一項(xiàng)的組合。
可以在計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述創(chuàng)新,所述計(jì)算機(jī)可執(zhí)行指令諸如是在目標(biāo)的真實(shí)或虛擬處理器上在計(jì)算系統(tǒng)中執(zhí)行的包括在模塊中的那些指令。一般而言,模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、庫(kù)、對(duì)象、類、組件、數(shù)據(jù)結(jié)構(gòu)等。根據(jù)各種實(shí)施例中的需要,模塊的功能可以在模塊之間組合或分割。用于模塊的計(jì)算機(jī)可執(zhí)行指令可以在本地或分布式計(jì)算系統(tǒng)內(nèi)執(zhí)行。
術(shù)語(yǔ)“系統(tǒng)”和“設(shè)備”在本文中可互換使用。除非上下文另有明確指示,否則這兩個(gè)術(shù)語(yǔ)都不暗示對(duì)計(jì)算系統(tǒng)或設(shè)備的類型的任何限制。一般而言,計(jì)算系統(tǒng)或設(shè)備可以是本地的或分布式的,并且可以包括具有實(shí)現(xiàn)本文描述的功能的軟件的硬件和/或?qū)S糜布娜魏谓M合。所公開(kāi)的方法可以使用被配置為執(zhí)行任何所公開(kāi)的方法的專用計(jì)算硬件來(lái)實(shí)現(xiàn)。例如,所公開(kāi)的方法可以通過(guò)專門設(shè)計(jì)或配置為實(shí)現(xiàn)任何所公開(kāi)的方法的集成電路(例如,ASIC(諸如ASIC數(shù)字信號(hào)處理器(“DSP”)、圖形處理單元(“GPU”)或可編程邏輯器件(“PLD”),諸如現(xiàn)場(chǎng)可編程門陣列(“FPGA”))來(lái)實(shí)現(xiàn)。
為了呈現(xiàn)的目的,具體實(shí)施方式使用像“確定”和“使用”一樣的術(shù)語(yǔ)來(lái)描述計(jì)算系統(tǒng)中的計(jì)算機(jī)操作。這些術(shù)語(yǔ)是對(duì)于由計(jì)算機(jī)執(zhí)行的操作的高級(jí)抽象,并且不應(yīng)該與由人類執(zhí)行的動(dòng)作相混淆。與這些術(shù)語(yǔ)相對(duì)應(yīng)的實(shí)際計(jì)算機(jī)操作根據(jù)實(shí)現(xiàn)方式而變化。
II.示例云計(jì)算環(huán)境
圖2圖示出其中可以實(shí)現(xiàn)所描述的創(chuàng)新中的若干創(chuàng)新的云計(jì)算環(huán)境(200)的一般化示例。在示例環(huán)境(200)中,由云(210)提供各種類型的服務(wù)(例如,計(jì)算服務(wù))。例如,云(210)可以包括可以集中地定位或分布的計(jì)算設(shè)備的集合,其向經(jīng)由諸如互聯(lián)網(wǎng)之類的網(wǎng)絡(luò)連接的各種類型的用戶和設(shè)備提供基于云的繪圖服務(wù)、搜索服務(wù)或消息傳送服務(wù)。云計(jì)算環(huán)境(200)的計(jì)算設(shè)備可以以不同的方式用于完成計(jì)算任務(wù)。例如,可以在本地計(jì)算設(shè)備(例如,連接的設(shè)備230、240、250)上執(zhí)行一些任務(wù)(例如,處理用戶輸入,呈現(xiàn)UI,與應(yīng)用執(zhí)行某些動(dòng)作),而可以在云(210)中執(zhí)行其他任務(wù)(例如,搜索位置、檢索地圖信息、確定路線、搜索關(guān)于位置的附加細(xì)節(jié)、共享關(guān)于位置的信息)。
在示例云計(jì)算環(huán)境(200)中,云(210)為具有各種屏幕能力的連接的設(shè)備(230、240、250)提供服務(wù)。第一連接設(shè)備(230)表示具有計(jì)算機(jī)屏幕(例如,中尺寸屏幕)的設(shè)備。例如,第一連接設(shè)備(230)可以是諸如臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、上網(wǎng)本計(jì)算機(jī)等的個(gè)人計(jì)算機(jī)。第二連接設(shè)備(240)表示具有移動(dòng)設(shè)備屏幕(例如,小尺寸屏幕)的設(shè)備。例如,第二連接設(shè)備(240)可以是移動(dòng)電話、智能電話、個(gè)人數(shù)字助理、平板計(jì)算機(jī)等。第三連接設(shè)備(250)表示與大屏幕相關(guān)聯(lián)的設(shè)備。例如,第三連接設(shè)備(250)可以是電視屏幕(例如,智能電視)或連接到電視的另一設(shè)備(例如,機(jī)頂盒或游戲控制臺(tái))等。沒(méi)有屏幕能力的設(shè)備也可以在示例云計(jì)算環(huán)境(200)中使用。例如,云(210)可以為沒(méi)有顯示器的一個(gè)或多個(gè)計(jì)算機(jī)(例如,服務(wù)器計(jì)算機(jī))提供服務(wù)。如下所述,生成位置卡的方式可以根據(jù)呈現(xiàn)位置卡的計(jì)算系統(tǒng)的屏幕能力。
服務(wù)可以由云(210)通過(guò)服務(wù)提供商(220)或通過(guò)在線服務(wù)的其他提供商(未描繪)來(lái)提供??梢葬槍?duì)特定連接的設(shè)備(例如,連接的設(shè)備230、240和/或250)的屏幕尺寸、顯示能力和/或觸摸屏能力來(lái)定制云服務(wù)。在示例云計(jì)算環(huán)境(200)中,云(210)可以至少部分地使用服務(wù)提供商(220)向各種連接的設(shè)備(230、240和/或250)提供搜索位置的服務(wù)、檢索地圖信息的服務(wù)、確定路線的服務(wù)、搜索關(guān)于位置的附加細(xì)節(jié)的服務(wù)、共享關(guān)于位置的信息的服務(wù)或本文描述的其他服務(wù)。在這種情況下,服務(wù)提供商(220)可以為各種基于云的服務(wù)提供集中式解決方案。服務(wù)提供商(220)可以管理用戶和/或設(shè)備(例如,連接的設(shè)備(230、240、250)和/或它們各自的用戶)的服務(wù)訂閱。例如,連接的設(shè)備(230、240或250)請(qǐng)求搜索位置、請(qǐng)求該位置的地圖信息、請(qǐng)求搜索關(guān)于位置的附加細(xì)節(jié)、請(qǐng)求確定到該位置的路線和/或請(qǐng)求與一個(gè)或多個(gè)其他設(shè)備共享關(guān)于該位置的信息。云(210)中的一個(gè)或多個(gè)計(jì)算系統(tǒng)處置(多個(gè))請(qǐng)求(例如,搜索位置,確定位置的地圖信息,搜索關(guān)于位置的附加細(xì)節(jié),確定到位置的路線和/或與一個(gè)或多個(gè)其他設(shè)備共享關(guān)于位置的信息),然后將結(jié)果返回到做出(多個(gè))請(qǐng)求的連接設(shè)備(230、240或250)。云(210)中的不同計(jì)算系統(tǒng)可以處置不同的請(qǐng)求。
III.操作系統(tǒng)對(duì)位置卡的支持
本部分描述了在呈現(xiàn)位置相關(guān)的動(dòng)作和位置信息的領(lǐng)域的創(chuàng)新。例如,響應(yīng)于來(lái)自應(yīng)用的一個(gè)或多個(gè)調(diào)用,操作系統(tǒng)(“OS”)生成位置卡。位置卡包括位置的地圖,關(guān)于位置的附加信息和/或一個(gè)或多個(gè)動(dòng)作指示符。用戶可以簡(jiǎn)單地查看位置卡的內(nèi)容,位置卡以有效的方式呈現(xiàn)位置相關(guān)的細(xì)節(jié)。或者,通過(guò)使用動(dòng)作指示符,用戶可以立即并直接從位置卡啟動(dòng)應(yīng)用以執(zhí)行位置相關(guān)的動(dòng)作。例如,啟動(dòng)的應(yīng)用可以是被啟動(dòng)以確定去往某個(gè)位置的指引的繪圖應(yīng)用、被啟動(dòng)以向在該位置處的商家發(fā)出呼叫的電話應(yīng)用、被啟動(dòng)以與另一個(gè)用戶共享關(guān)于該位置的信息的消息傳送應(yīng)用、或一些其他類型的應(yīng)用。
根據(jù)使用場(chǎng)景,應(yīng)用可以指定要用位置卡中的動(dòng)作指示符表示的不同動(dòng)作、與用戶相關(guān)的不同位置信息和/或包括在位置卡中的不同類型的地圖視圖。因此,位置卡功能向開(kāi)發(fā)者提供了靈活性以確定在位置卡中呈現(xiàn)哪些地圖視圖、動(dòng)作和信息。特別地,當(dāng)呈現(xiàn)位置信息時(shí),利用位置卡,應(yīng)用的開(kāi)發(fā)者可以容易地鏈接到其他應(yīng)用的功能。這可以允許用戶與其他應(yīng)用完成任務(wù),然后自動(dòng)返回到請(qǐng)求位置卡的應(yīng)用,從而豐富了該應(yīng)用的用戶體驗(yàn)。
同時(shí),OS支持的位置卡提供了用于向用戶顯示位置信息和位置相關(guān)的動(dòng)作的一致的用戶體驗(yàn)。 OS可以對(duì)于(由OS的制造商提供的)第一方應(yīng)用和第三方應(yīng)用提供位置卡功能。以這種方式,OS可以在應(yīng)用與應(yīng)用之間一致地呈現(xiàn)位置相關(guān)的動(dòng)作和位置信息。
A.用于生成位置卡的示例軟件架構(gòu)
圖3示出了用于請(qǐng)求OS(350)生成位置卡的應(yīng)用(310)的示例軟件架構(gòu)(300)。計(jì)算系統(tǒng)(例如,智能電話、平板計(jì)算機(jī)或其他計(jì)算設(shè)備)可以執(zhí)行根據(jù)架構(gòu)(300)組織的軟件以生成位置卡。
架構(gòu)(300)包括OS(350)和使用OS(350)的服務(wù)的一個(gè)或多個(gè)應(yīng)用(310)。在圖3中,OS(350)包括用于再現(xiàn)(例如,向顯示器再現(xiàn)視覺(jué)輸出,為揚(yáng)聲器生成語(yǔ)音輸出)的組件、用于聯(lián)網(wǎng)的組件和用于輸入處理的組件。OS(350)的其他組件未示出。一般而言,OS(350)管理用于計(jì)算設(shè)備的用戶輸入功能、輸出功能、存儲(chǔ)裝置訪問(wèn)功能、網(wǎng)絡(luò)通信功能和其他功能。OS(350)向應(yīng)用(310)提供對(duì)這些功能的訪問(wèn)。
用戶生成影響位置卡的生成、輸出和使用的用戶輸入。用戶輸入可以是諸如觸摸屏輸入之類的觸覺(jué)輸入、鼠標(biāo)輸入、按鈕按壓或按鍵按壓,或者它可以是語(yǔ)音輸入。在輸入處理模塊(356)中,OS(350)包括用于識(shí)別敲擊、手指手勢(shì)或?qū)τ|摸屏的其他輸入的功能,用于識(shí)別來(lái)自語(yǔ)音輸入、按鈕輸入或按鍵按壓輸入的命令的功能,以及用于創(chuàng)建可以由應(yīng)用(310)使用的消息的功能。應(yīng)用(310)從OS(350)監(jiān)聽(tīng)用戶輸入事件消息。 UI事件消息可以指示設(shè)備的觸摸屏上的平移手勢(shì)、輕拂手勢(shì)、拖動(dòng)手勢(shì)或其他手勢(shì)、觸摸屏上的敲擊、鼠標(biāo)輸入、按鍵按壓輸入或另一UI事件(例如,來(lái)自語(yǔ)音輸入、方向按鈕、軌跡球輸入)。
如果適當(dāng)?shù)脑?,?yīng)用(310)可以通過(guò)對(duì)OS(350)做出一個(gè)或多個(gè)調(diào)用來(lái)對(duì)用戶輸入(或另一類型的通知)作出反應(yīng),以請(qǐng)求OS(350)生成用于位置的位置卡。特別地,當(dāng)UI事件消息指示用戶對(duì)位置感興趣時(shí),應(yīng)用(310)請(qǐng)求OS(350)生成用于該位置的位置卡。例如,UI事件消息可以是在計(jì)算系統(tǒng)的顯示設(shè)備的屏幕上的在某個(gè)位置的文本或圖形表示上的鼠標(biāo)點(diǎn)擊、光標(biāo)懸停、觸摸屏敲擊或其他輸入。或者,UI事件消息可以是按鍵按壓、語(yǔ)音命令或否則指示對(duì)位置感興趣的其他輸入。
在對(duì)OS(350)的(多個(gè))調(diào)用中,應(yīng)用(310)可以指定用于位置卡的地圖視圖、信息細(xì)節(jié)和/或一個(gè)或多個(gè)動(dòng)作指示符。OS(350)展示諸如應(yīng)用編程接口(“API”)之類的接口,應(yīng)用(310)跨過(guò)該接口做出(多個(gè))調(diào)用。接口的細(xì)節(jié)取決于實(shí)現(xiàn)。例如,API可以針對(duì)不同位置卡將具有各種對(duì)象類型或類的命名空間包括在其中。給定的對(duì)象類型或類包括可以被調(diào)用以構(gòu)造位置卡對(duì)象的實(shí)例的方法(“構(gòu)造器”)以及可以被調(diào)用以指定該實(shí)例的屬性的一個(gè)或多個(gè)方法?;蛘?,API可以包括用于位置卡的單個(gè)類,其具有構(gòu)造器方法和指定位置卡的屬性的方法。
在指定位置卡的(多個(gè))調(diào)用中,應(yīng)用(310)可以提供指定位置卡的地圖類型的一個(gè)或多個(gè)參數(shù)。例如,對(duì)于位置的地圖,應(yīng)用(310)可以指定繪圖服務(wù)是否應(yīng)當(dāng)提供街道視圖、鳥(niǎo)瞰圖、3D視圖或其他類型的地圖視圖。應(yīng)用(310)還可以指定要在地圖上合成的具有交通細(xì)節(jié)、天氣細(xì)節(jié)或其他細(xì)節(jié)的層。作為另一選項(xiàng),應(yīng)用(310)可以指定用于位置的地圖的定制視圖(例如,場(chǎng)所(venue)),或請(qǐng)求諸如該位置的地鐵地圖之類的專用地圖。一般來(lái)說(shuō),應(yīng)用(310)可以根據(jù)使用場(chǎng)景或用戶設(shè)置改變地圖視圖的類型。應(yīng)用(310)還可以根據(jù)上下文改變地圖視圖。例如,如果(計(jì)算設(shè)備的)當(dāng)前位置遠(yuǎn)離位置卡中的位置或用戶正在快速移動(dòng),則應(yīng)用(310)可以指定地圖的街道視圖,但是如果當(dāng)前位置接近位置卡中的位置或用戶正在緩慢移動(dòng),則應(yīng)用(310)提供場(chǎng)所視圖?;蛘撸绻浣咏脩舻募?、用戶的辦公室或者預(yù)期是用戶熟悉的其他位置,則應(yīng)用(310)可以指定省略當(dāng)前位置周圍的區(qū)域的地圖視圖,但是否則提供包括當(dāng)前位置的地圖視圖。
在OS(350)或應(yīng)用中,地圖數(shù)據(jù)存儲(chǔ)庫(kù)可以高速緩存最近使用的地圖數(shù)據(jù)。根據(jù)需要,地圖數(shù)據(jù)存儲(chǔ)庫(kù)從本地文件存儲(chǔ)裝置或從網(wǎng)絡(luò)資源獲得位置卡的附加或更新的地圖數(shù)據(jù)。OS(350)調(diào)解對(duì)存儲(chǔ)裝置和網(wǎng)絡(luò)資源的訪問(wèn)。例如,地圖數(shù)據(jù)存儲(chǔ)庫(kù)通過(guò)OS(350)的存儲(chǔ)裝置或聯(lián)網(wǎng)模塊請(qǐng)求用于位置卡的地圖數(shù)據(jù),OS(350)處理請(qǐng)求,根據(jù)需要從繪圖服務(wù)請(qǐng)求地圖數(shù)據(jù)并接收回復(fù),并且提供請(qǐng)求的地圖數(shù)據(jù)給地圖數(shù)據(jù)存儲(chǔ)庫(kù)。如所指出的,地圖數(shù)據(jù)可以是處于各種細(xì)節(jié)層面的攝影圖像數(shù)據(jù)或圖形數(shù)據(jù)(用于邊界,道路等),范圍從對(duì)于州和城市的高層面描繪到對(duì)于地區(qū)和高速公路的中層面描繪,到對(duì)于街道和建筑物的低層面描繪。除了攝影數(shù)據(jù)和圖形數(shù)據(jù)之外,地圖數(shù)據(jù)可以包括用于州、城市、地區(qū)、街道、建筑物、地標(biāo)或地圖中的其他特征的地名的圖形指示符,諸如圖標(biāo)或文本標(biāo)簽。地圖數(shù)據(jù)的組織取決于實(shí)現(xiàn)。例如,在一些實(shí)現(xiàn)中,不同類型的地圖數(shù)據(jù)以給定的細(xì)節(jié)層面被組合成單層的地圖數(shù)據(jù)。在其他實(shí)現(xiàn)中,不同類型的地圖數(shù)據(jù)被組織在在再現(xiàn)期間合成的不同覆蓋物中。
在指定位置卡的(多個(gè))調(diào)用中,應(yīng)用(310)還可以提供指定關(guān)于位置的細(xì)節(jié)的一個(gè)或多個(gè)參數(shù)。如圖3中所示,為了確定(多個(gè))調(diào)用的(多個(gè))參數(shù)的細(xì)節(jié),應(yīng)用(310)可以從搜索服務(wù)請(qǐng)求關(guān)于位置的細(xì)節(jié)。在這種情況下,OS(350)的聯(lián)網(wǎng)模塊(354)將請(qǐng)求傳達(dá)到服務(wù)器,接收回復(fù)(包括例如距離信息、關(guān)于地標(biāo)或興趣點(diǎn)(“POI”)的信息、評(píng)論、評(píng)級(jí)、其他評(píng)注、電話號(hào)碼、電子郵件地址或其他聯(lián)系人信息、菜單、定價(jià)信息、照片、廣告促銷或其他信息),并將結(jié)果傳達(dá)到應(yīng)用(310)。或者,通過(guò)使用位置的地址,應(yīng)用(310)可以使用反向商家查找服務(wù)來(lái)找到關(guān)于位置的細(xì)節(jié)。應(yīng)用(310)可以過(guò)濾搜索結(jié)果以確定在位置卡中呈現(xiàn)哪些細(xì)節(jié),潛在地使用優(yōu)先級(jí)信息來(lái)偏好某些類型的信息優(yōu)于其他類型的信息。
在指定位置卡的(多個(gè))調(diào)用中,應(yīng)用(310)還可以提供一個(gè)或多個(gè)參數(shù),其為(多個(gè))動(dòng)作指示符中的每一個(gè)指定鏈接的應(yīng)用和對(duì)應(yīng)的動(dòng)作。例如,對(duì)于動(dòng)作指示符,應(yīng)用(310)指示OS(350)應(yīng)當(dāng)啟動(dòng)以執(zhí)行對(duì)應(yīng)動(dòng)作的應(yīng)用,并且還指示應(yīng)該提供給被啟動(dòng)的應(yīng)用以便執(zhí)行動(dòng)作的信息。動(dòng)作指示符可以表示預(yù)期通常從位置卡選擇的主動(dòng)作或次動(dòng)作。對(duì)于主動(dòng)作,動(dòng)作指示符直接呈現(xiàn)在位置卡中。相反,對(duì)于次動(dòng)作,動(dòng)作指示符被呈現(xiàn)在通過(guò)位置卡訪問(wèn)的菜單或屏幕中。在一種方法中,當(dāng)開(kāi)發(fā)者設(shè)計(jì)應(yīng)用(310)時(shí),開(kāi)發(fā)者可以指定在應(yīng)用(310)請(qǐng)求生成位置卡時(shí)要在位置卡中表示的動(dòng)作/命令。“動(dòng)作工廠”可以向開(kāi)發(fā)者提供用于包括在位置卡中的不同動(dòng)作/命令的選項(xiàng)。例如,從選項(xiàng)菜單中,開(kāi)發(fā)者選擇與啟動(dòng)給定應(yīng)用的協(xié)議或API調(diào)用相關(guān)聯(lián)的特定動(dòng)作/命令?;蛘?,對(duì)于定制動(dòng)作指示符,開(kāi)發(fā)者可以指定動(dòng)作、應(yīng)用和啟動(dòng)應(yīng)用的協(xié)議或API調(diào)用。
可替換地,被啟動(dòng)以處置針對(duì)動(dòng)作指示符的動(dòng)作的應(yīng)用可由OS(350)在運(yùn)行時(shí)確定。在這種情況下,在指定位置卡的(多個(gè))調(diào)用中,應(yīng)用(310)可以提供為動(dòng)作指示符指定應(yīng)用類型和對(duì)應(yīng)動(dòng)作的一個(gè)或多個(gè)參數(shù)。例如,對(duì)于動(dòng)作指示符,應(yīng)用(310)指示OS(350)應(yīng)當(dāng)啟動(dòng)以執(zhí)行對(duì)應(yīng)動(dòng)作的應(yīng)用類型,并且還指示應(yīng)當(dāng)提供給被啟動(dòng)的應(yīng)用以便執(zhí)行動(dòng)作的信息。在運(yùn)行時(shí),OS(350)針對(duì)所指定的應(yīng)用類型選擇默認(rèn)應(yīng)用。或者,OS(350)向用戶呈現(xiàn)合適的應(yīng)用的菜單,并且用戶選擇要啟動(dòng)的應(yīng)用以處置對(duì)應(yīng)的動(dòng)作。OS(350)可以存儲(chǔ)用戶的選擇以用于生成位置卡,向前進(jìn)行。
在指定位置卡的(多個(gè))調(diào)用中,應(yīng)用(310)還可以提供指定字體尺寸、字體顏色、字體類型、邊框?qū)挾取⑦吙蝾伾?、邊框類型、高度、寬度、位置、背景顏色?或位置卡的另一屬性的一個(gè)或多個(gè)參數(shù)。例如,應(yīng)用(310)可以根據(jù)應(yīng)用設(shè)置、用戶設(shè)置、當(dāng)前照明水平或其他因素來(lái)管理位置卡的圖形細(xì)節(jié)。以這種方式,應(yīng)用(310)可以直接控制位置卡的外觀?;蛘撸鳛橹付ㄎ恢每ǖ耐庥^的另一選項(xiàng),應(yīng)用(310)可以指定位置卡的樣式,其中樣式指示屬性設(shè)置的組合。
最后,在指定位置卡的(多個(gè))調(diào)用中,應(yīng)用(310)可以提供指定用于位置卡的模板的一個(gè)或多個(gè)參數(shù)。例如,模板是指定位置卡的總體“樣子和感覺(jué)”(例如,布局、外觀的屬性、動(dòng)畫或UI元素的其他行為)的可擴(kuò)展應(yīng)用標(biāo)記語(yǔ)言(“XAML”)模板。XAML允許開(kāi)發(fā)者使用聲明性語(yǔ)句來(lái)定義和鏈接位置卡的UI元素。可替換地,以另一種語(yǔ)言提供模板。OS(350)可以使用默認(rèn)值和/或根據(jù)指定位置卡的(多個(gè))調(diào)用的參數(shù)來(lái)填充模板的屬性、值、字段等。OS(350)可以針對(duì)不同的使用場(chǎng)景(見(jiàn)下文)、計(jì)算系統(tǒng)的不同形狀因素(例如,屏幕尺寸)或不同的屏幕取向而使用不同的模板。
位置卡可以被實(shí)現(xiàn)為UI元素的分層合成物或樹(shù)。例如,頂級(jí)位置卡包括用于地圖部分、細(xì)節(jié)部分和動(dòng)作指示符部分的UI元素。地圖部分可以包括用于地圖層、縮放控件、滾動(dòng)控件和其他特征的子元素。細(xì)節(jié)部分可以包括用于各種文本信息和/或圖形信息的子元素。動(dòng)作指示符部分可以包括子元素,諸如具有用于各種動(dòng)作指示符的標(biāo)簽的按鈕。
響應(yīng)于(多個(gè))調(diào)用,OS(350)生成位置卡。OS(350)可以在計(jì)算系統(tǒng)的存儲(chǔ)器中創(chuàng)建結(jié)構(gòu)(例如,基于(多個(gè))調(diào)用的模板和參數(shù))。該結(jié)構(gòu)定義了位置卡的地圖部分的視覺(jué)元素和屬性、位置卡的附加細(xì)節(jié)的視覺(jué)元素和屬性、和/或位置卡的(多個(gè))動(dòng)作指示符的視覺(jué)元素和屬性。例如,OS(350)的模塊創(chuàng)建或修改用于位置卡的XAML或另一種語(yǔ)言的文件,然后將用于位置卡的文件轉(zhuǎn)換為位置卡的對(duì)象實(shí)例或其他運(yùn)行時(shí)間表示,其可以被再現(xiàn)以用于顯示。
在生成位置卡之后,OS(350)輸出位置卡以用于顯示。例如,OS(350)的再現(xiàn)模塊(352)基于位置卡的對(duì)象實(shí)例或其他運(yùn)行時(shí)間表示來(lái)生成圖像(或表面)。該表面用于更新顯示設(shè)備的屏幕。當(dāng)位置卡被構(gòu)造為UI元素的層次結(jié)構(gòu)時(shí),再現(xiàn)模塊(352)可以遍歷該層次結(jié)構(gòu),將該層次結(jié)構(gòu)的UI元素從后到前合成到要顯示的表面上。UI元素的層次結(jié)構(gòu)保留在存儲(chǔ)器中,使得對(duì)單獨(dú)UI元素的改變可以反映在層次結(jié)構(gòu)中,并且在隨后的再現(xiàn)操作期間導(dǎo)致對(duì)表面的更新。再現(xiàn)模塊(352)還可以向OS(350)提供輸出以用于通過(guò)揚(yáng)聲器或耳機(jī)的語(yǔ)音輸出。作為再現(xiàn)的一部分執(zhí)行的確切操作取決于實(shí)現(xiàn)。
位置卡可以被再現(xiàn)為在其他內(nèi)容上方的彈出菜單,再現(xiàn)為在其他內(nèi)容上方的飛出對(duì)象,再現(xiàn)為替換其他內(nèi)容的控件或再現(xiàn)為某個(gè)其他圖形特征。典型地,位置卡在請(qǐng)求位置卡的應(yīng)用(310)的上下文中被托管或呈現(xiàn),并且當(dāng)位置卡關(guān)閉時(shí),焦點(diǎn)返回到該應(yīng)用。
隨著計(jì)算系統(tǒng)的當(dāng)前位置改變,OS(350)可以利用簡(jiǎn)單的轉(zhuǎn)換動(dòng)畫自動(dòng)更新地圖?;蛘?,OS(350)可以在更新當(dāng)前位置時(shí)自動(dòng)重新定位指示計(jì)算系統(tǒng)的當(dāng)前位置的圖標(biāo)。OS(350)還可以對(duì)視圖類型的改變(例如,從街道視圖切換到鳥(niǎo)瞰圖,反之亦然),或者對(duì)要再現(xiàn)的細(xì)節(jié)的改變(例如,顯示或隱藏流量細(xì)節(jié))作出反應(yīng)。地圖上的POI可以根據(jù)利用用戶輸入選擇了位置卡中的哪些信息而改變。
在位置卡被輸出用于顯示之后,用戶可以致動(dòng)位置卡的動(dòng)作指示符。作為響應(yīng),OS(350)啟動(dòng)鏈接到動(dòng)作指示符的應(yīng)用,并向所啟動(dòng)的應(yīng)用提供信息,使得所啟動(dòng)的應(yīng)用可以執(zhí)行動(dòng)作指示符的動(dòng)作。例如,為了啟動(dòng)與動(dòng)作指示符相關(guān)聯(lián)的應(yīng)用,OS(350)調(diào)用API方法或遵循用于啟動(dòng)應(yīng)用的某個(gè)其他協(xié)議,向所啟動(dòng)的應(yīng)用傳遞信息。典型地,所啟動(dòng)的應(yīng)用具有UI組件,諸如輸出用于顯示的幀。然而,在一些情況下,所啟動(dòng)的應(yīng)用可以是沒(méi)有UI組件的后臺(tái)任務(wù)。
根據(jù)為位置卡指定的(多個(gè))動(dòng)作指示符,所啟動(dòng)的應(yīng)用可以是繪圖應(yīng)用(以獲得去往某個(gè)位置的指引)、電話應(yīng)用(以發(fā)出電話呼叫)、消息傳送應(yīng)用(以共享關(guān)于位置的信息)、文檔查看器(以查看關(guān)于位置的文檔)、文件編輯器(以編輯關(guān)于位置的信息)或某個(gè)其他類型的應(yīng)用。
當(dāng)所啟動(dòng)的應(yīng)用被關(guān)閉時(shí),OS(350)從顯示器移除用于所啟動(dòng)的應(yīng)用的任何視圖(更新要顯示的表面)并更新顯示。當(dāng)位置卡被關(guān)閉時(shí),OS(350)從顯示器移除位置卡(更新要顯示的表面)并更新顯示。例如,輸出應(yīng)用(310)的內(nèi)容用于顯示,并且OS(350)將焦點(diǎn)返回到應(yīng)用(310)。
可替換地,OS(350)包括更多或更少的模塊。給定的模塊可以被分成多個(gè)模塊,或者不同的模塊可以組合成單個(gè)模塊。
B.請(qǐng)求和生成位置卡的技術(shù)
圖4a圖示出了用于請(qǐng)求位置卡的一般化技術(shù)(401)。用于請(qǐng)求位置卡的技術(shù)(401)可以由應(yīng)用執(zhí)行。
開(kāi)始,應(yīng)用接收(410)指示對(duì)位置感興趣的通知。例如,指示對(duì)位置感興趣的通知是用戶輸入,諸如在計(jì)算系統(tǒng)的顯示設(shè)備的屏幕上的位置的表示上的鼠標(biāo)輸入或觸摸屏輸入。這可以是在該位置的文本或圖形表示上的鼠標(biāo)點(diǎn)擊、光標(biāo)懸停、觸摸屏敲擊或其他輸入?;蛘?,用戶輸入可以是按鍵按壓輸入、語(yǔ)音輸入或否則指示對(duì)位置感興趣的其他輸入。或者,由應(yīng)用接收的通知是在應(yīng)用內(nèi)基于由應(yīng)用所識(shí)別的在該位置和用戶簡(jiǎn)檔/用戶偏好之間的關(guān)聯(lián)而觸發(fā)的事件。
該應(yīng)用通過(guò)OS的接口做出(420)指定該位置的位置卡的一個(gè)或多個(gè)調(diào)用。位置卡包括(a)用于位置的地圖,(b)關(guān)于位置的細(xì)節(jié),和/或(c)一個(gè)或多個(gè)動(dòng)作指示符。(多個(gè))動(dòng)作指示符中的每一個(gè)鏈接到能夠執(zhí)行對(duì)應(yīng)動(dòng)作的應(yīng)用。例如,(多個(gè))調(diào)用可以包括如III.A.節(jié)中描述的參數(shù)。應(yīng)用可以基于各種標(biāo)準(zhǔn)來(lái)調(diào)整指定位置卡的(多個(gè))調(diào)用中的參數(shù)。例如,在設(shè)置(多個(gè))調(diào)用的參數(shù)時(shí),應(yīng)用可以:
(a)評(píng)估計(jì)算系統(tǒng)的顯示設(shè)備的屏幕的尺寸和/或取向,并且至少部分地基于所述評(píng)估的結(jié)果來(lái)調(diào)整指定所述位置卡的(多個(gè))調(diào)用中的至少一些;
(b)評(píng)估計(jì)算系統(tǒng)的一個(gè)或多個(gè)應(yīng)用設(shè)置、用戶設(shè)置或狀況,并且基于所述評(píng)估的結(jié)果,確定所述地圖的類型;
(c)確定所述位置的定制視圖,其中所述定制視圖被提供用作所述位置的地圖;
(d)請(qǐng)求搜索所述位置的地址,接收搜索結(jié)果并過(guò)濾所述搜索結(jié)果以確定要包括在所述位置卡中的關(guān)于位置的細(xì)節(jié);
(e)對(duì)于(多個(gè))動(dòng)作指示符中的每一個(gè),識(shí)別關(guān)于位置的相關(guān)信息,確定針對(duì)該相關(guān)信息的對(duì)應(yīng)動(dòng)作,以及確定能夠執(zhí)行對(duì)應(yīng)動(dòng)作的應(yīng)用;和/或
(f)以某種其他方式調(diào)整(多個(gè))調(diào)用的參數(shù)。
圖4b圖示出了用于生成位置卡的一般化技術(shù)(402)。用于生成位置卡的技術(shù)(402)可以由OS的一個(gè)或多個(gè)模塊執(zhí)行。
參考圖4b,響應(yīng)于通過(guò)OS的接口的(多個(gè))調(diào)用,OS生成(430)用于位置的位置卡。位置卡包括(a)用于位置的地圖,(b)關(guān)于位置的細(xì)節(jié)和/或(c)一個(gè)或多個(gè)動(dòng)作指示符。(多個(gè))動(dòng)作指示符中的每一個(gè)鏈接到能夠執(zhí)行對(duì)應(yīng)動(dòng)作的應(yīng)用。例如,(多個(gè))調(diào)用可以包括如III.A.節(jié)中描述的參數(shù)。
OS可以根據(jù)各種因素來(lái)調(diào)整位置卡。例如,OS評(píng)估計(jì)算系統(tǒng)的顯示設(shè)備的屏幕的尺寸和/或取向,然后至少部分地基于評(píng)估的結(jié)果來(lái)調(diào)整位置卡?;蛘?,作為另一示例,OS基于優(yōu)先級(jí)信息確定地圖、細(xì)節(jié)和(多個(gè))動(dòng)作指示符中的哪一個(gè)要包括在位置卡中,然后至少部分地基于評(píng)估的結(jié)果來(lái)調(diào)整位置卡?;蛘撸琌S以某種其他方式調(diào)整位置卡。
OS然后輸出(440)位置卡以用于顯示。位置卡可以以各種方式再現(xiàn)。例如,位置卡可以替換請(qǐng)求位置卡的應(yīng)用的內(nèi)容。在這種情況下,當(dāng)用戶關(guān)閉位置卡時(shí),OS從顯示器中移除位置卡(更新要顯示的表面),并輸出應(yīng)用的先前內(nèi)容用于顯示?;蛘?,可以再現(xiàn)位置卡以作為在(用于請(qǐng)求位置卡的應(yīng)用的)先前再現(xiàn)的其它內(nèi)容之上的飛出對(duì)象進(jìn)行顯示。在這種情況下,當(dāng)用戶在飛出對(duì)象之外提供用戶輸入時(shí),OS從顯示器中移除飛出對(duì)象(更新要顯示的表面),并輸出其它內(nèi)容用于顯示?;蛘撸恢每梢员辉佻F(xiàn)為彈出菜單或某個(gè)其他圖形特征。可以單獨(dú)顯示位置卡?;蛘?,位置卡可以是輸出用于顯示的多個(gè)位置卡的棧的一部分。
圖5a-5c圖示出了用于生成位置卡的示例技術(shù)(501)。技術(shù)(501)可以由OS的一個(gè)或多個(gè)模塊執(zhí)行。
開(kāi)始,為了生成位置卡,OS選擇(510)用于位置卡的模板,并且使用在(多個(gè))調(diào)用中提供的參數(shù)填充(520)模板的至少一些字段以生成位置卡。例如,如III.A.節(jié)中描述的,OS在多個(gè)可用模板之間進(jìn)行選擇,然后基于(多個(gè))調(diào)用中的參數(shù)和默認(rèn)參數(shù)填充模板的屬性、性質(zhì)、字段等的值。
OS輸出(530)用于顯示的位置卡,并處理(540)用于位置卡的用戶輸入。例如,OS輸出位置卡用于顯示,如III.A.節(jié)中描述的。OS處理(540)用戶輸入的方式取決于用戶輸入。
例如,圖5b示出了用于處理用于致動(dòng)位置卡中的動(dòng)作指示符的用戶輸入的技術(shù)(502)。響應(yīng)于位置卡的給定動(dòng)作指示符的致動(dòng),OS啟動(dòng)(541)鏈接到給定動(dòng)作指示符的應(yīng)用,向所啟動(dòng)的應(yīng)用提供(542)信息,以便所啟動(dòng)的應(yīng)用執(zhí)行針對(duì)給定的動(dòng)作指示符的對(duì)應(yīng)動(dòng)作,以及輸出(543)所啟動(dòng)的應(yīng)用的視圖用于顯示(如果有的話)。所啟動(dòng)的應(yīng)用可以根據(jù)其正常處理來(lái)進(jìn)一步處理用戶輸入。當(dāng)所啟動(dòng)的應(yīng)用被關(guān)閉時(shí),OS可以從顯示器中移除所啟動(dòng)的應(yīng)用的視圖(更新要顯示的表面)(如果有的話),并輸出位置卡以進(jìn)行顯示。以這種方式,在完成動(dòng)作指示符的動(dòng)作之后,焦點(diǎn)可以返回給位置卡。
作為另一示例,圖5c示出了用于處理用于位置卡的關(guān)閉的用戶輸入的技術(shù)(503)。例如,如果位置卡被再現(xiàn)為飛出對(duì)象,則當(dāng)接收到位置卡之外的任何用戶輸入時(shí),位置卡被關(guān)閉?;蛘?,如果位置卡被再現(xiàn)為彈出控件,則響應(yīng)于“關(guān)閉”或“X”按鈕的致動(dòng),位置卡被關(guān)閉。在任何情況下,當(dāng)位置卡被關(guān)閉時(shí),OS從顯示器移除(544)位置卡(更新要顯示的表面),并且輸出(545)在位置卡下面的其他內(nèi)容用于顯示。
OS可以以其他方式處理用于位置卡的其他用戶輸入。例如,OS可以通過(guò)高亮位置卡的地圖部分中的POI來(lái)響應(yīng)關(guān)于某個(gè)位置周圍的POI的用戶感興趣的細(xì)節(jié)。
C.位置卡的生成和使用的示例
圖6a-6d圖示出了在具有中等尺寸屏幕的計(jì)算系統(tǒng)(諸如個(gè)人計(jì)算機(jī))中的位置卡的創(chuàng)建和使用。在圖6a中所示的視圖(601)中,顯示設(shè)備(610)包括描繪第一應(yīng)用的內(nèi)容(620)的屏幕。例如,第一應(yīng)用是Web瀏覽器或基于軟件的個(gè)人助理。內(nèi)容(620)包括地址(621)。為了簡(jiǎn)化示例,省略了內(nèi)容(620)的其它細(xì)節(jié)。在圖6a中,計(jì)算系統(tǒng)的UI的光標(biāo)(630)懸停在遠(yuǎn)離地址(621)的某個(gè)位置處的內(nèi)容(620)上。在圖6b中所示的視圖(602)中,光標(biāo)(630)已經(jīng)被移動(dòng)以懸停在地址(621)上。如圖6c的視圖(603)中所示,這觸發(fā)用于顯示覆蓋第一應(yīng)用的內(nèi)容(620)的位置卡(640)的生成和輸出。(可替換地,可以基于在位置和用戶簡(jiǎn)檔/用戶偏好之間識(shí)別的關(guān)聯(lián),由基于軟件的個(gè)人助理自動(dòng)請(qǐng)求位置卡(640))。在圖6c中,位置卡(640)被再現(xiàn)為飛出對(duì)象。位置卡(640)包括細(xì)節(jié)部分(642)、具有多個(gè)動(dòng)作指示符(用于動(dòng)作1,動(dòng)作2和動(dòng)作3)的動(dòng)作指示符部分(644)和地圖部分(646)。
在圖6d中所示的視圖(604)中,光標(biāo)(630)已經(jīng)被移動(dòng)以懸停在用于動(dòng)作1的動(dòng)作指示符上方。這觸發(fā)第二應(yīng)用的啟動(dòng),第二應(yīng)用的內(nèi)容(650)覆蓋位置卡(640)和第一應(yīng)用的內(nèi)容(620)。例如,第二應(yīng)用是電話應(yīng)用、繪圖應(yīng)用或消息傳送應(yīng)用。當(dāng)?shù)诙?yīng)用關(guān)閉時(shí)(未示出),其內(nèi)容(650)從屏幕移除,潛在地返回到圖6c的視圖(603)。當(dāng)用戶從位置卡(640)離開(kāi)時(shí),位置卡(640)關(guān)閉并從屏幕移除。
圖7a-7c圖示出了在具有小屏幕的計(jì)算設(shè)備(諸如智能電話、平板計(jì)算機(jī)或其他移動(dòng)計(jì)算設(shè)備)中創(chuàng)建和使用位置卡。在圖7a中所示的視圖(701)中,計(jì)算設(shè)備(710)包括描繪第一應(yīng)用(例如,Web瀏覽器或基于軟件的個(gè)人助理)的內(nèi)容(720)的屏幕。內(nèi)容(720)包括地址(721),但是省略其他細(xì)節(jié)以簡(jiǎn)化示例。計(jì)算設(shè)備(710)接受觸摸屏輸入。在圖7b中,在地址(721)上方接收到觸摸屏輸入。如圖7b的視圖(702)中所示,這觸發(fā)用于顯示覆蓋第一應(yīng)用的內(nèi)容(720)的位置卡(740)的生成和輸出。(可替換地,基于在位置和用戶簡(jiǎn)檔/用戶偏好之間識(shí)別的關(guān)聯(lián),可以由基于軟件的個(gè)人助理自動(dòng)請(qǐng)求位置卡(740))。在圖7b中,位置卡(740)被再現(xiàn)為替換第一應(yīng)用的內(nèi)容的控件。位置卡(740)包括細(xì)節(jié)部分(742)和具有多個(gè)動(dòng)作指示符(用于動(dòng)作1、動(dòng)作2和動(dòng)作3)的動(dòng)作指示符部分(744)和地圖部分(746)。
在圖7c中所示的視圖(703)中,在用于動(dòng)作1的動(dòng)作指示符的上方接收到附加的觸摸屏輸入。這觸發(fā)第二應(yīng)用(例如,電話應(yīng)用、繪圖應(yīng)用、消息傳送應(yīng)用)的啟動(dòng),第二應(yīng)用的內(nèi)容(750)替換位置卡。當(dāng)?shù)诙?yīng)用關(guān)閉時(shí),如圖7b的視圖(702)中那樣,從屏幕中移除第二應(yīng)用的內(nèi)容(750),并且恢復(fù)位置卡(740)。然后,當(dāng)用戶關(guān)閉位置卡(740)時(shí),將位置卡(740)從屏幕中移除,并且恢復(fù)第一應(yīng)用的內(nèi)容(720),如在圖7a的視圖(701)中那樣。
圖8a-8c圖示出了在Web瀏覽器上創(chuàng)建和使用位置卡。在圖8a中所示的視圖(801)中,顯示設(shè)備(810)包括描繪Web瀏覽器的內(nèi)容(820)的屏幕。內(nèi)容(820)包括多個(gè)地址。在圖8a中,計(jì)算系統(tǒng)的UI的光標(biāo)(830)懸停在遠(yuǎn)離任何地址的內(nèi)容(820)上。在圖8b中所示的視圖(802)中,光標(biāo)(830)已經(jīng)被移動(dòng)以懸停在地址之一上。如圖8b的視圖(802)中所示,這觸發(fā)用于顯示覆蓋Web瀏覽器的內(nèi)容(820)的位置卡(840)的生成和輸出。在圖8b中,位置卡(840)被再現(xiàn)為飛出對(duì)象。位置卡(840)包括具有商家的名稱、地址、電話號(hào)碼、營(yíng)業(yè)時(shí)間、評(píng)級(jí)信息和定價(jià)信息的細(xì)節(jié)部分。位置卡(840)的動(dòng)作指示符部分包括用于Direction(指引)、Call(呼叫)和Share(共享)動(dòng)作的動(dòng)作指示符,并且位置卡(840)的地圖部分包括商家的地圖細(xì)節(jié)。
在圖8c中所示的視圖(803)中,光標(biāo)(830)已經(jīng)被移動(dòng)以懸停在用于Call動(dòng)作的動(dòng)作指示符上。這觸發(fā)電話應(yīng)用的啟動(dòng),電話應(yīng)用的內(nèi)容(850)覆蓋位置卡(840)和Web瀏覽器的內(nèi)容(820)。當(dāng)電話應(yīng)用稍后關(guān)閉(未示出)時(shí),其內(nèi)容(850)從屏幕移除,潛在地返回到圖8b的視圖(802)。當(dāng)用戶從位置卡(840)離開(kāi)時(shí),位置卡(840)關(guān)閉并從屏幕移除。
D.位置卡的示例配置
圖9圖示出了一般位置卡(900)和伴隨的示例位置卡(901)。一般位置卡(900)包括細(xì)節(jié)部分(910)、動(dòng)作指示符部分(920)和地圖部分(930)。
細(xì)節(jié)部分(910)提供用戶可以一目了然地查看的信息。該信息包括例如位置的名稱、地址、電話號(hào)碼、評(píng)論信息、評(píng)級(jí)信息、定價(jià)信息、距離、行程時(shí)間等中的任一個(gè)??商鎿Q地,細(xì)節(jié)部分(910)包括其他文本和/或圖形信息。
動(dòng)作指示符部分(920)示出一個(gè)或多個(gè)動(dòng)作指示符,以幫助用戶通過(guò)直接鏈接到可用于完成任務(wù)的應(yīng)用來(lái)完成該任務(wù)。示例動(dòng)作包括獲得到位置的指引,將位置保存到目錄或收藏夾列表,與另一用戶共享關(guān)于位置的信息,編輯關(guān)于位置的信息,呼叫與位置相關(guān)聯(lián)的電話號(hào)碼,以及確定位置附近的POI??商鎿Q地,動(dòng)作指示符部分(920)包括用于其它和/或附加動(dòng)作的動(dòng)作指示符。動(dòng)作指示符可以用于在動(dòng)作指示符部分(920)中直接表示的主動(dòng)作或者不直接在動(dòng)作指示符部分(920)中表示但可以通過(guò)位置卡(900)訪問(wèn)的次動(dòng)作。
地圖部分(930)顯示地圖視圖,其可以是道路地圖、場(chǎng)所地圖、航空地圖、街道地圖、交通地圖或某種其他種類的地圖。地圖部分(930)可以示出一個(gè)或多個(gè)POI的指示符,或者不示出POI。
圖9的示例位置卡(901)包括細(xì)節(jié)部分(911),動(dòng)作指示符部分(912)和地圖部分(913),其內(nèi)容在上面參考圖8b進(jìn)行描述。
圖10示出了一般位置卡(1000)和伴隨的示例位置卡(1001)的可替換配置。一般位置卡(1000)包括樞軸控件(pivot control)(1010),其可用于在用于關(guān)于位置的細(xì)節(jié)、位置的動(dòng)作指示符和位置的地圖視圖的不同頁(yè)面(1020)之間切換。例如,響應(yīng)于觸摸屏上的輕拂手勢(shì)或平移手勢(shì),響應(yīng)于來(lái)自鼠標(biāo)的鼠標(biāo)滾輪輸入或響應(yīng)于其他用戶輸入,位置卡(1000)可以切換頁(yè)面。不同的頁(yè)面(1020)可以包括如參考圖9的位置卡(900)的不同部分所描述的內(nèi)容。
在圖10的示例位置卡(1001)中,樞軸控件的初始狀態(tài)(1011)將示出“details(細(xì)節(jié))”頁(yè)面(1021)。在響應(yīng)用戶輸入之后,樞軸控件的狀態(tài)(1012)將示出“actions(動(dòng)作)”頁(yè)面(1022)。然后,在響應(yīng)附加的用戶輸入之后,樞軸控件的狀態(tài)(1013)將示出“map(地圖)”頁(yè)面(1023)。頁(yè)面(1021,1022,1023)的內(nèi)容如參考圖8b所描述的。
可替換地,位置卡可以以另一配置再現(xiàn),例如,轉(zhuǎn)盤控件。
應(yīng)用或OS可以根據(jù)計(jì)算設(shè)備的形狀因素、計(jì)算設(shè)備的屏幕取向、使用場(chǎng)景、用戶設(shè)置、應(yīng)用設(shè)置和/或另一因素改變位置卡的配置(例如,切換模板)或改變?cè)谖恢每ㄖ惺境瞿男┬畔?。例如,在具有較小屏幕的設(shè)備上,應(yīng)用指定(或OS確定)應(yīng)當(dāng)生成較小的位置卡,從而示出可能對(duì)用戶是重要的精簡(jiǎn)版本的細(xì)節(jié)、地圖信息和/或動(dòng)作指示符。為了節(jié)省空間,細(xì)節(jié)和/或動(dòng)作指示符可以覆蓋位置卡的地圖部分。此外,根據(jù)可用空間,可以相對(duì)于次動(dòng)作而呈現(xiàn)更多或更少的主動(dòng)作的動(dòng)作指示符。隨著屏幕尺寸增加,可以在位置卡中示出更多細(xì)節(jié)、更多地圖信息和/或更多動(dòng)作指示符。
圖11a-11d圖示出了已經(jīng)改變以適應(yīng)不同設(shè)備形狀因素的示例位置卡(1101,1102,1103,1104)。圖11a中所示的位置卡(1101)包括商家的名稱、地址、距離、電話號(hào)碼、營(yíng)業(yè)時(shí)間、評(píng)級(jí)信息和定價(jià)信息,以及商家的照片。位置卡(1101)包括用于Direction(指引),Save(保存)和Share(共享)動(dòng)作的動(dòng)作指示符,并且地圖視圖示出了針對(duì)位置卡的位置和用戶的計(jì)算設(shè)備的當(dāng)前位置。對(duì)于較小的屏幕,圖11b的位置卡(1102)示出與圖11a的位置卡(1101)相同的地圖信息和細(xì)節(jié),但省略了照片。此外,在圖11b中,動(dòng)作指示符覆蓋地圖信息以節(jié)省空間。在圖11c中,位置卡(1103)包括精簡(jiǎn)版本的細(xì)節(jié)和更小的地圖視圖,不再示出當(dāng)前位置。最后,在圖11d中,位置卡(1104)包括精簡(jiǎn)版本的細(xì)節(jié)和較小的地圖視圖,并且Save動(dòng)作已經(jīng)被降級(jí)到次動(dòng)作的狀態(tài)。位置卡(1104)仍然包括用于Direction(指引)和Share(共享)動(dòng)作的動(dòng)作指示符,但是Save(保存)動(dòng)作可以通過(guò)在致動(dòng)人字形按鈕(1110)時(shí)彈出的菜單來(lái)訪問(wèn)。
應(yīng)用或OS可以根據(jù)優(yōu)先級(jí)信息選擇不同類型的細(xì)節(jié)、不同的動(dòng)作和/或不同類型的地圖信息。例如,優(yōu)先級(jí)信息可以使地圖信息優(yōu)先于動(dòng)作,并且使動(dòng)作優(yōu)先于附加的細(xì)節(jié)。作為另一個(gè)例子,優(yōu)先級(jí)信息可以使某些類型的細(xì)節(jié)(例如,名稱、電話號(hào)碼)優(yōu)先于其他類型的細(xì)節(jié)(例如地址、評(píng)論)?;蛘撸鳛榱硪皇纠?,優(yōu)先級(jí)信息可以使某些類型的動(dòng)作優(yōu)先于其他類型的動(dòng)作。優(yōu)先級(jí)信息可以根據(jù)使用場(chǎng)景而改變。例如,對(duì)于某個(gè)使用場(chǎng)景,優(yōu)先級(jí)信息可以包括一組主動(dòng)作和一組次動(dòng)作。主動(dòng)作用于被預(yù)期是最常見(jiàn)的任務(wù),開(kāi)發(fā)者試圖將其在位置卡的頂層向用戶展示。次動(dòng)作用于被預(yù)期是不太常見(jiàn)的任務(wù),其不需要位于位置卡的最前面。在某些場(chǎng)景下,位置卡可以省略動(dòng)作指示符。
可以為單個(gè)位置輸出位置卡,如圖9、10和11a-11d中所示??商鎿Q地,位置卡可以堆疊在列表中。圖12示出了一般復(fù)合位置卡(1200)和示例復(fù)合位置卡(1201)。例如,可以使用復(fù)合位置卡來(lái)示出包括多個(gè)位置的搜索結(jié)果。
一般復(fù)合位置卡(1200)包括地圖部分(1210)、針對(duì)位置卡1的細(xì)節(jié)和(多個(gè))動(dòng)作指示符(1220),針對(duì)位置卡2的細(xì)節(jié)和(多個(gè))動(dòng)作指示符(1240),針對(duì)位置卡3的細(xì)節(jié)和動(dòng)作指示符(1260),等等。在圖12中,針對(duì)給定位置卡的細(xì)節(jié)部分和(多個(gè))動(dòng)作指示符部分被精簡(jiǎn)成復(fù)合位置卡(1200)的單個(gè)部分。包括在復(fù)合位置卡(1200)中的地圖信息、細(xì)節(jié)和(多個(gè))動(dòng)作指示符可以由應(yīng)用指定。
示例復(fù)合位置卡(1201)包括地圖部分(1211),其中在街道地圖上指示并標(biāo)記了若干位置。地圖部分(1211)還示出當(dāng)前位置(由其中具有圓圈的菱形表示)。對(duì)于這三個(gè)位置中的每一個(gè),位置卡(1221,1241,1261)示出精簡(jiǎn)的細(xì)節(jié)和單個(gè)動(dòng)作指示符。精簡(jiǎn)的細(xì)節(jié)(名稱、電話號(hào)碼、營(yíng)業(yè)時(shí)間、評(píng)級(jí)信息、定價(jià)信息和到目的地的時(shí)間)放進(jìn)相對(duì)較小的區(qū)域。對(duì)于主動(dòng)作,單個(gè)動(dòng)作指示符 - 獲得到某個(gè)位置的指引 - 被描繪為一個(gè)小步行圖。
E.位置卡的示例使用場(chǎng)景
應(yīng)用可以針對(duì)不同的使用場(chǎng)景指定不同的位置卡。或者,OS可以針對(duì)不同的使用場(chǎng)景調(diào)整位置卡。一般說(shuō)來(lái),應(yīng)用或OS可以調(diào)整位置卡的地圖信息、細(xì)節(jié)和/或動(dòng)作,以將位置卡定做為用戶的預(yù)期需要。這為應(yīng)用開(kāi)發(fā)者提供了指定特定于應(yīng)用的目標(biāo)的動(dòng)作和信息的靈活性,同時(shí)仍然提供關(guān)于如何由OS再現(xiàn)和使用位置卡的一致的用戶體驗(yàn)。位置卡可用于各種場(chǎng)景。
例如,用戶可以向基于軟件的個(gè)人助理詢問(wèn)關(guān)于諸如商家、餐館、普通地方、場(chǎng)所或中轉(zhuǎn)站之類的位置的信息,并且得到的信息可以與位置卡一起呈現(xiàn)。位置卡中所示的細(xì)節(jié)可以取決于位置類型——例如,普通商家的名稱、地址和電話號(hào)碼;餐館的名稱、評(píng)論信息和菜單;中轉(zhuǎn)站的距離和行程時(shí)間;等等。類似地,在位置卡中表示為主動(dòng)作的動(dòng)作可以取決于位置類型 —— 例如,獲得指引,發(fā)出電話呼叫或共享普通商家的位置;獲得指引,閱讀評(píng)論信息或者向餐館發(fā)出電話呼叫;獲得中轉(zhuǎn)站的替代路線;等等。不太常見(jiàn)的動(dòng)作(諸如保存位置或共享位置)可以作為次動(dòng)作呈現(xiàn)。作為另一示例,基于軟件的個(gè)人助理可以使用位置卡來(lái)呈現(xiàn)關(guān)于行程或日程的信息??商鎿Q地,基于由基于軟件的個(gè)人助理記錄的用戶簡(jiǎn)檔或用戶偏好,基于軟件的個(gè)人助理可自動(dòng)請(qǐng)求OS生成位置卡,以向用戶推薦一個(gè)地方或就一個(gè)地方通知用戶。
當(dāng)利用Web瀏覽器瀏覽網(wǎng)頁(yè)時(shí),用戶可以指示對(duì)某個(gè)位置的地址感興趣。Web瀏覽器可以請(qǐng)求OS在位置卡中呈現(xiàn)關(guān)于該位置的信息。如上所述,在位置卡中表示的動(dòng)作和所示出的細(xì)節(jié)可以取決于位置的類型。
或者,作為另一示例,當(dāng)利用繪圖應(yīng)用或消息傳送應(yīng)用來(lái)處理特定地址時(shí),應(yīng)用可以請(qǐng)求OS在位置卡中呈現(xiàn)關(guān)于位置的信息?;蛘?,日歷應(yīng)用可以使用位置卡來(lái)呈現(xiàn)關(guān)于日歷上的事件的位置的信息?;蛘?,聯(lián)系人應(yīng)用可以使用位置卡來(lái)呈現(xiàn)聯(lián)系人的位置信息。如上所述,在位置卡中表示的動(dòng)作和所示出的細(xì)節(jié)可以取決于位置的類型。在位置卡中表示的動(dòng)作和所示出的細(xì)節(jié)也可以取決于應(yīng)用的類型 ——例如,對(duì)于消息傳送應(yīng)用而言共享某個(gè)位置;對(duì)于繪圖應(yīng)用而言,獲得指引、替代路線或交通細(xì)節(jié);對(duì)于日歷應(yīng)用而言,重新安排或重新定位某個(gè)事件;對(duì)于聯(lián)系人應(yīng)用而言,發(fā)送文本消息或者向某個(gè)聯(lián)系人發(fā)出電話呼叫;等等。所示出的細(xì)節(jié)和所表示的動(dòng)作還可以以其他方式取決于上下文。例如,如果繪圖應(yīng)用示出交通數(shù)據(jù),則繪圖應(yīng)用可以指定位置卡包括用于將到達(dá)某個(gè)位置的替代路線確定為主動(dòng)作的動(dòng)作指示符,但是否則為作為次動(dòng)作的該動(dòng)作呈現(xiàn)動(dòng)作指示符。
作為另一示例,應(yīng)用可以存儲(chǔ)關(guān)于位置(例如,汽車停放的位置,用于出差的一系列位置)的信息,并且請(qǐng)求生成位置卡以呈現(xiàn)關(guān)于(多個(gè))位置的信息。位置卡可以包括用于編輯位置(改變地址或改變場(chǎng)所內(nèi)的位置),獲得到某個(gè)位置的或共享位置的動(dòng)作指示符。當(dāng)檢索或存儲(chǔ)位置(例如,編輯以修正停車空間的位置的不準(zhǔn)確放置的問(wèn)題,獲得到停車空間的指引,共享停車空間的位置的問(wèn)題)時(shí),期望頻繁使用這樣的動(dòng)作。
F.替代方案和變型
在本文所描述的許多示例中,位置卡由OS生成和再現(xiàn),但不持久存儲(chǔ)??商鎿Q地,位置卡可以以持久形式存儲(chǔ)。應(yīng)用或OS可以存儲(chǔ)和檢索用于位置卡的信息,以便以后使用位置卡。
在本文描述的許多示例中,單個(gè)應(yīng)用請(qǐng)求并使用OS生成的位置卡。不同的應(yīng)用請(qǐng)求并使用其自己的由OS生成的位置卡??商鎿Q地,位置卡可以由多個(gè)應(yīng)用共享。
在本文所描述的許多示例中,應(yīng)用檢索關(guān)于位置的信息,將至少一些檢索到的信息提供給OS以生成位置卡,然后丟棄該信息??商鎿Q地,應(yīng)用可以將檢索到的信息保留在用于該位置的數(shù)據(jù)模型中。在該方法中,應(yīng)用可以存儲(chǔ)關(guān)于位置的信息,并將其提供給OS以生成用于不同情況的位置卡,而不必多次檢索該信息。例如,繪圖應(yīng)用可以緩存關(guān)于數(shù)據(jù)模型中的位置的信息,然后向OS提供所緩存的信息的適當(dāng)子集,以生成用于給定情況的位置卡,給定情況諸如是,呈現(xiàn)搜索結(jié)果(示出更多細(xì)節(jié))、導(dǎo)航、駕駛(示出較少的細(xì)節(jié)),等等。應(yīng)用可以在不同情況下為位置卡選擇所緩存信息的不同子集。
考慮到可以應(yīng)用所公開(kāi)的發(fā)明的原理的許多可能的實(shí)施例,應(yīng)當(dāng)認(rèn)識(shí)到,所圖示出的實(shí)施例僅是本發(fā)明的優(yōu)選實(shí)施例,并且不應(yīng)視為限制本發(fā)明的范圍。相反,本發(fā)明的范圍由所附權(quán)利要求限定。因此,我們要求保護(hù)落入這些權(quán)利要求的范圍和精神內(nèi)的全部作為我們的發(fā)明。