圖特征時(shí),可以發(fā)生示例 消息交換200。服務(wù)器106可以單個(gè)差別地圖瓦片的形式生成修改指示202并將其傳送到 動(dòng)態(tài)地圖渲染引擎104,該單個(gè)差別地圖瓦片對(duì)于用唯一特征標(biāo)識(shí)符識(shí)別的一個(gè)或多個(gè)地 圖特征指示包括關(guān)于例如將在一個(gè)或多個(gè)基礎(chǔ)地圖數(shù)據(jù)瓦片中渲染地圖特征的新深度的 信息的變化。在另一實(shí)施例中,在消息202中發(fā)送的差別地圖瓦片指示用于可在相同基礎(chǔ) 地圖瓦片或不同基礎(chǔ)地圖瓦片中的多個(gè)地圖特征或元素的新深度值。因此,在本示例中,可 使單個(gè)差別瓦片與多個(gè)基礎(chǔ)瓦片相關(guān)聯(lián)。在作為在消息202內(nèi)發(fā)送的差別瓦片的一部分而 接收到修改指示時(shí),動(dòng)態(tài)地圖渲染引擎104可鑒于該修改指示和基礎(chǔ)地圖瓦片來(lái)渲染新地 圖圖像,并生成事件204,以便促使在用戶(hù)接口 102處顯示新地圖圖像。
[0071] 此外,當(dāng)服務(wù)器106確定應(yīng)該用不同的樣式、諸如使用不同的顏色、不同的線寬、 不同的厚度或其它類(lèi)型的樣式特性來(lái)渲染包括在先前提供的地圖數(shù)據(jù)中的某些地圖特征 時(shí),可發(fā)生圖5的示例性消息交換250。在這種情況下,服務(wù)器106可以單個(gè)差別地圖瓦片 的形式生成單個(gè)修改指示252并將其傳送到動(dòng)態(tài)地圖渲染引擎104,該單個(gè)差別地圖瓦片 包括將應(yīng)用于已在客戶(hù)端設(shè)備處的基礎(chǔ)地圖瓦片中的一個(gè)或多個(gè)的新樣式表或樣式的新 指示。在另一實(shí)施例中,服務(wù)器106可發(fā)送多個(gè)差別地圖瓦片,每個(gè)包括用于已在客戶(hù)端設(shè) 備處的基礎(chǔ)地圖數(shù)據(jù)瓦片中的相應(yīng)的一個(gè)的新的一組樣式數(shù)據(jù)或新樣式表,以影響客戶(hù)端 設(shè)備處的樣式變化。在以具有新樣式表或?qū)邮奖淼母淖兊牟顒e地圖瓦片的形式接收到修 改指示252時(shí),動(dòng)態(tài)地圖渲染引擎104可使用基礎(chǔ)地圖數(shù)據(jù)瓦片和(一個(gè)或多個(gè))差別瓦 片內(nèi)的(一個(gè)或多個(gè))新樣式表來(lái)渲染新地圖圖像,并生成事件254,以便促使在用戶(hù)接口 102處顯示新地圖圖像。
[0072] 圖6圖示出示例性消息交換300,在此期間服務(wù)器106以差別地圖瓦片的形式向 動(dòng)態(tài)地圖渲染引擎104提供修改數(shù)據(jù),用于當(dāng)當(dāng)前正在顯示的地圖視圖是已修改的地圖視 圖、例如從與一組基礎(chǔ)地圖瓦片相關(guān)聯(lián)的基礎(chǔ)地圖視圖修改的地圖視圖時(shí),將正在客戶(hù)端 設(shè)備上顯示的地圖圖像修改成包括用于區(qū)域&的新地圖視圖。例如,當(dāng)客戶(hù)端設(shè)備的用戶(hù) 在客戶(hù)端設(shè)備當(dāng)前圖示出用于地圖區(qū)域的運(yùn)輸?shù)貓D視圖時(shí)選擇觀看該區(qū)域的自行車(chē)地圖 視圖時(shí),可在圖2的消息交換100結(jié)束時(shí)發(fā)生圖6的消息交換300。在這種情況下,用戶(hù)可 選擇觀看自行車(chē)地圖視圖,代替用于地圖區(qū)域&的運(yùn)輸?shù)貓D視圖。在這里,用戶(hù)為自行車(chē)地 圖視圖經(jīng)由用戶(hù)接口 102來(lái)激活適當(dāng)?shù)目刂?。作為響?yīng),用戶(hù)接口 102生成用于自行車(chē)地 圖視圖的請(qǐng)求302,并將該請(qǐng)求302轉(zhuǎn)發(fā)到動(dòng)態(tài)地圖渲染引擎104,其進(jìn)而向服務(wù)器106提 供將在客戶(hù)端設(shè)備處渲染不同地圖圖像的指示或請(qǐng)求304。指示304可以是對(duì)自行車(chē)地圖 數(shù)據(jù)的請(qǐng)求,并且可指定已被提供給客戶(hù)端設(shè)備的基礎(chǔ)地圖瓦片。替選地,動(dòng)態(tài)地圖渲染引 擎104可知道其已具有存儲(chǔ)在存儲(chǔ)器中的用于被請(qǐng)求區(qū)域的基礎(chǔ)地圖瓦片,并且可僅僅請(qǐng) 求用于該區(qū)域的自行車(chē)地圖視圖的差別地圖瓦片。
[0073] 作為響應(yīng),服務(wù)器106將一組的一個(gè)或多個(gè)差別地圖數(shù)據(jù)作為一系列電子消息 306^ . . 306N(如圖6中所示)或作為單個(gè)消息提供給客戶(hù)端設(shè)備。消息306^ . . 306N內(nèi)的 每個(gè)差別瓦片可包括將如何修改用于相應(yīng)基礎(chǔ)地圖數(shù)據(jù)瓦片IV .. TN的矢量數(shù)據(jù)的一個(gè)或 多個(gè)指示。然而,在一些情形中,先前被發(fā)送到客戶(hù)端設(shè)備的瓦片IV .. 1;中的僅一些將被 修改,并且在這些情況下,只有用于那些瓦片的差別地圖瓦片需要被發(fā)送到客戶(hù)端設(shè)備。
[0074] 對(duì)于被修改的每個(gè)瓦片,消息soeiR的差別瓦片可提供一個(gè)或多個(gè)修改描述符 Μρ M2、... Mm,其可指定用于要添加到先前提供的基礎(chǔ)地圖數(shù)據(jù)瓦片的地圖元素的矢量描述 符,識(shí)別要去除的先前提供的地圖瓦片中的地圖元素,指定用于先前提供的基礎(chǔ)地圖瓦片 中的地圖元素的屬性的新值,指定新的一組樣式數(shù)據(jù)或樣式表等。
[0075] 在消息306ρ .. 306N中接收到差別獨(dú)特瓦片時(shí),動(dòng)態(tài)地圖渲染引擎104使用在圖2 的響應(yīng)114中提供的一些或所有矢量數(shù)據(jù)(即,基礎(chǔ)地圖數(shù)據(jù)瓦片)和在消息306i. . . 306n中作為差別地圖瓦片提供的修改指示來(lái)渲染用于被請(qǐng)求的自行車(chē)地圖圖像的瓦片。更具體 地,動(dòng)態(tài)地圖渲染引擎104可解釋被根據(jù)消息306i. .. 306N修改的先前提供的矢量描述符, 以渲染光柵自行車(chē)地圖圖像,并生成事件以促使經(jīng)由用戶(hù)接口 102來(lái)渲染自行車(chē)地圖圖像 視圖。動(dòng)態(tài)地圖渲染引擎104還可將已修改的地圖數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中。一般而言,動(dòng)態(tài) 地圖渲染引擎104繼續(xù)存儲(chǔ)用于自行車(chē)視圖的原始提供的基礎(chǔ)地圖數(shù)據(jù)瓦片和已修改的 地圖數(shù)據(jù)瓦片,但是可消除或者不存儲(chǔ)用于運(yùn)輸?shù)貓D視圖的差別瓦片,如果這樣期望的話(huà)。
[0076] 接下來(lái),參考圖7-9來(lái)討論可在圖1的系統(tǒng)或類(lèi)似環(huán)境中操作的計(jì)算設(shè)備中實(shí)現(xiàn) 的多個(gè)示例性方法。可將這些方法實(shí)現(xiàn)為用任何適當(dāng)?shù)木幊陶Z(yǔ)言開(kāi)發(fā)并存儲(chǔ)于有形的非瞬 時(shí)計(jì)算機(jī)可讀介質(zhì)(諸如一個(gè)或多個(gè)硬盤(pán)驅(qū)動(dòng))上且可在一個(gè)或多個(gè)處理器上執(zhí)行的計(jì)算 機(jī)程序。例如,可在地圖服務(wù)器12中實(shí)現(xiàn)圖7和8的方法,并且可在客戶(hù)端設(shè)備14中實(shí)現(xiàn) 圖9的方法。雖然可以在諸如服務(wù)器或個(gè)人計(jì)算機(jī)(PC)之類(lèi)的個(gè)體計(jì)算機(jī)上執(zhí)行圖7-9 的方法,但還可以例如在云計(jì)算環(huán)境中使用多個(gè)計(jì)算機(jī)來(lái)以分布式方式實(shí)現(xiàn)這些方法中的 至少一些。
[0077] 首先參考圖7,可例如在地圖服務(wù)器12的地圖控制器30或服務(wù)器106的類(lèi)似部件 中實(shí)現(xiàn)用于生成用于多個(gè)地圖圖像的地圖數(shù)據(jù)的示例性方法350。根據(jù)實(shí)施例,在方框352 處作為一組基礎(chǔ)地圖瓦片生成用于渲染用于某個(gè)區(qū)域的第一地圖圖像的矢量描述符。該矢 量描述符或基礎(chǔ)地圖瓦片可符合矢量圖形格式并描述相應(yīng)地圖元素。在一些實(shí)施例中,可 根據(jù)每個(gè)包括一個(gè)或多個(gè)地圖元素的地圖特征來(lái)將矢量描述符分組。此外,在一些實(shí)施例 中,可將矢量描述符作為非光柵地圖數(shù)據(jù)的一部分提供,其還包括以例如樣式表的形式的 樣式數(shù)據(jù),以便高效地渲染和重新渲染矢量數(shù)據(jù)、基于文本的標(biāo)簽數(shù)據(jù)、諸如公路屏障之類(lèi) 的圖標(biāo)或符號(hào)等。
[0078] 接下來(lái),在方框354處,將基礎(chǔ)地圖瓦片作為一個(gè)或多個(gè)消息提供給客戶(hù)端設(shè)備。 在方框356處,接收對(duì)用于渲染用于同一區(qū)域的第二地圖圖像的數(shù)據(jù)的請(qǐng)求。在一些情形 中,響應(yīng)于用戶(hù)在客戶(hù)端設(shè)備處選擇不同的地圖類(lèi)型而傳送請(qǐng)求,例如,如圖2中的交互圖 中所示。在方框358處生成并在方框360處向客戶(hù)端設(shè)備提供以一組差別地圖瓦片的形式 的修改指示,該組差別地圖瓦片中的每一個(gè)包括對(duì)先前提供的基礎(chǔ)地圖瓦片的一個(gè)或多個(gè) 修改的描述。雖然對(duì)新地圖視圖356的請(qǐng)求被指示為在已將用于所請(qǐng)求的地圖視圖的區(qū)域 的基礎(chǔ)地圖瓦片發(fā)送到客戶(hù)端設(shè)備之后被接收到,但此請(qǐng)求可在基礎(chǔ)地圖瓦片被發(fā)送到客 戶(hù)端設(shè)備之前被接收,使得用于該區(qū)域的基礎(chǔ)地圖瓦片(方框354)和差別地圖瓦片(360) 被響應(yīng)于同一地圖圖像請(qǐng)求而發(fā)送到客戶(hù)端設(shè)備。
[0079] 在另一情形中,響應(yīng)于用戶(hù)選擇將用來(lái)渲染與同一區(qū)域和同一地圖類(lèi)型相對(duì)應(yīng)的 地圖圖像的新縮放水平而傳送在方框356處接收到的請(qǐng)求。例如,在方框352處生成的矢 量描述符可描述用于地理區(qū)域R的基本地圖類(lèi)型的以縮放水平Zi的多個(gè)瓦片。在用戶(hù)選 擇縮放水平&并在方框356處發(fā)布對(duì)數(shù)據(jù)的適當(dāng)請(qǐng)求之后,可分別地在方框358和360處 生成并向客戶(hù)端設(shè)備提供修改指示或差別地圖瓦片組??蛻?hù)端設(shè)備可根據(jù)差別地圖瓦片來(lái) 添加、去除或修改先前提供的矢量描述符以及對(duì)矢量描述符中的一些或全部進(jìn)行重新縮放 以在縮放水平Z2渲染相應(yīng)地圖元素。作為更特定示例,在方框354處提供的矢量描述符可 包括以縮放水平21的停車(chē)場(chǎng)的基于矢量的描述,并且可使用停車(chē)場(chǎng)的同一基于矢量的描述 來(lái)以縮放水平Z2重新渲染該停車(chē)場(chǎng)作為已修改地圖圖像的一部分。
[0080] 圖8圖示出用于生成用于先前提供的地圖數(shù)據(jù)的差別地圖瓦片的示例性方法 400,其例如可在地圖服務(wù)器12的地圖控制器30中或在服務(wù)器106的類(lèi)似部件中實(shí)現(xiàn)。在 實(shí)施例中,在上文所討論的方法350的方框356-360處執(zhí)行方法400的步驟中的至少一些。
[0081] 在方框402處,接收將在客戶(hù)端設(shè)備處更新或向其發(fā)送地圖圖像的指示。在方框 404處,識(shí)別對(duì)以基礎(chǔ)地圖瓦片的形式的先前提供的矢量描述符的添加,并生成相應(yīng)描述。 在方框406處,識(shí)別對(duì)先前提供的矢量描述符中的一些的刪除,并生成修改的相應(yīng)描述。如 上文所討論的,一些情形中的某些地圖特征的修改被表示為對(duì)子特征中的一些的刪除和添 加。在一些情況下,可通過(guò)將用于基礎(chǔ)地圖瓦片組的矢量圖形或光柵數(shù)據(jù)與用于新地圖視 圖的新地圖瓦片相比較以生成差別或者根據(jù)從存儲(chǔ)用于新視圖的數(shù)據(jù)的各種其它數(shù)據(jù)庫(kù) (諸如圖1的數(shù)據(jù)庫(kù)18B-18D)發(fā)送的消息來(lái)生成這些差別描述。在任何情況下,在方框408 處生成并編譯修改指示,諸如對(duì)矢量數(shù)據(jù)的修改的描述(例如,深度或水平指示的改變、標(biāo) 簽等)。方框410還可創(chuàng)建用于每組地圖元素的新樣式表,以使用不同的樣式特性來(lái)渲染基 礎(chǔ)地圖瓦片的特征。然后,在方框412處,創(chuàng)建一組差別地圖瓦片,其定義將被應(yīng)用于基礎(chǔ) 地圖瓦片以便在渲染新地圖圖像或地圖視圖時(shí)使用的添加、刪除、改變和樣式。這些差別瓦 片然后可被作為單個(gè)電子消息或作為多個(gè)電子消息傳送到客戶(hù)端設(shè)備。
[0082] 圖9是例如可在動(dòng)態(tài)地圖渲染引擎62或104中實(shí)現(xiàn)的用于渲染地圖圖像的示例 性方法450的流程圖。在方框452處,作為一組基礎(chǔ)地圖數(shù)據(jù)瓦片來(lái)接收用于某個(gè)區(qū)域或 地區(qū)的矢量描述符,并在方框454處使用接收到的矢量描述符來(lái)渲染第一地圖圖像。為此, 可解釋接收到的矢量數(shù)據(jù)以生成光柵圖像。
[0083] 接下來(lái),在方框456處,例如,從諸如瀏覽器應(yīng)用的接口之類(lèi)的用戶(hù)接口接收用以 渲染第二地圖圖像的請(qǐng)求。第二地圖圖像可以是用于同一區(qū)域,但是可對(duì)應(yīng)于不同的地圖 類(lèi)型、視圖或縮放水平,如上文所討論的。在方框458處接收修改指示,諸如修改先前接收 并存儲(chǔ)的基礎(chǔ)地圖瓦片的一組差別瓦片。然后使用作為基礎(chǔ)地圖數(shù)據(jù)瓦片在方框452處接 收到的矢量描述符中的一些或全部和在方框458處接收到的差別地圖瓦片來(lái)渲染第二地 圖圖像。如上文所討論的,差別地圖瓦片內(nèi)對(duì)矢量數(shù)據(jù)的修改一般地可包括添加、刪除、修 改、深度變化、新樣式等。
[0084] 為了進(jìn)一步圖示上文所討論的技術(shù)的示例性應(yīng)用,圖10A、10B和10C圖示出對(duì)應(yīng) 于同一地理區(qū)域且分別地根據(jù)基礎(chǔ)地圖類(lèi)型、運(yùn)輸?shù)貓D類(lèi)型以及自行車(chē)地圖類(lèi)型來(lái)顯示的 地圖。圖10A中所描繪的基礎(chǔ)地圖的地圖圖像500可包括由基礎(chǔ)地圖數(shù)據(jù)瓦片組定義的多 個(gè)地圖元素的渲染,諸如公路和停車(chē)場(chǎng),所述基礎(chǔ)地圖數(shù)據(jù)瓦片組包括對(duì)應(yīng)于所示區(qū)域的 基礎(chǔ)標(biāo)簽和基礎(chǔ)樣式數(shù)據(jù)或樣式表。
[0085] 如圖10B中所示,運(yùn)輸?shù)貓D的地圖圖像可包括地圖圖像500的地圖元素以及疊加 在地圖圖像500的相應(yīng)部分上或者另外結(jié)合在其內(nèi)的地鐵線504。取決于實(shí)施例,可將地鐵 線504定義為在相同或不同地圖瓦片中的單個(gè)地圖特征或者多個(gè)地圖特征,每個(gè)對(duì)應(yīng)于軌 道的相應(yīng)區(qū)段。此外,可在地圖圖像500的一部分上渲染地鐵符號(hào)506。另外,可在運(yùn)輸?shù)?圖視圖上提供用于地鐵線(紅線)的標(biāo)簽,并且雖然未示出,但可刪除基礎(chǔ)地圖視圖中的用 于公路的各種標(biāo)簽。取決于實(shí)施例,可將地鐵符號(hào)506提供為例如添加的地圖特征或元素、 標(biāo)簽或圖標(biāo)。在實(shí)施例中,地鐵符號(hào)506被指定為統(tǒng)一資源定位符(URL),其可以被用來(lái)從 生成標(biāo)準(zhǔn)圖標(biāo)的服務(wù)器檢索以光柵格式的標(biāo)準(zhǔn)地鐵符號(hào)。
[0086] 為了在已經(jīng)在客戶(hù)端設(shè)備處渲染圖10A的地圖圖像之后在客戶(hù)端設(shè)備處生成圖 10B的地圖圖像,地圖服務(wù)器可僅提供具有修改的一組差別地圖瓦片,該修改例如以矢量格 式描述對(duì)應(yīng)于地鐵線504的一個(gè)或多個(gè)地圖特征和任何相關(guān)聯(lián)的改變,其可包括對(duì)標(biāo)簽、 樣式數(shù)據(jù)或樣式表的改變,所述樣式數(shù)據(jù)或樣式表改變用來(lái)渲染用于各種特征的諸如線 寬、顏色等的各種視覺(jué)特征的方式。在實(shí)施例中,修改指示或差別地圖瓦片還可提供深度指 示以促使地鐵線504出現(xiàn)于在圖10A的地圖圖像中描繪的一些公路的下方和圖10A的地圖 圖像中的一些其它公路的上方。此外,在實(shí)施例中,差別地圖瓦片另外包括作為標(biāo)簽或圖標(biāo) 的地鐵符號(hào)506的描述。
[0087] 如圖10C中所示,自行車(chē)地圖550的地圖圖像可包括地圖圖像500的地圖元素以 及被疊加在地圖圖像500的相應(yīng)部分上或者另外結(jié)合在其內(nèi)的一組自行車(chē)道。然而,在這 里,去除了運(yùn)輸信息(或者實(shí)際上在渲染過(guò)程中刪除)。取決于實(shí)施例,可將自行車(chē)道定義 為設(shè)置在各種差別地圖數(shù)據(jù)瓦片中的單個(gè)地圖特征或多個(gè)地圖特征,每個(gè)對(duì)應(yīng)于地圖的相 應(yīng)區(qū)段或圖10A的基礎(chǔ)地圖圖像的基礎(chǔ)地圖數(shù)據(jù)瓦片。此外,可在地圖圖像500的一部分 上方渲染自行車(chē)道符號(hào)552。取決于實(shí)施例,可將符號(hào)552提供為例如添加的地圖特征或元 素、標(biāo)簽或圖標(biāo)。在實(shí)施例中,可將符號(hào)552中的一個(gè)或多個(gè)指定為統(tǒng)一資源定位符(URL), 其可以被用來(lái)從生成標(biāo)準(zhǔn)圖標(biāo)的服務(wù)器檢索以光柵格式的標(biāo)準(zhǔn)自行車(chē)道符號(hào)。
[0088] 為了在已經(jīng)在客戶(hù)端設(shè)備處渲染圖10A的地圖圖像之后和/或在已經(jīng)使