使用聚合特征標識符來管理地圖元素的制作方法
【專利摘要】一種用于經由通信網絡向客戶端設備提供地圖數據的計算機實施的方法包括生成地圖數據,地圖數據符合非光柵格式并且用于在客戶端設備渲染地理區域的光柵地圖圖像。光柵地圖圖像包括若干地圖元素,每個地圖元素與在地理區域中的相應物理實體或者物理實體的一部分對應。該方法還包括生成地圖特征的描述,地圖特征包括若干地圖元素中的兩個或者更多個地圖元素并且不包括若干地圖元素中的至少一個地圖元素,其中在地圖特征中包括的地圖元素與有關物理實體或者相同物理實體的部分對應。生成地圖特征的描述包括提供地圖數據的與地圖特征對應的一部分的指示并且提供唯一地標識地圖特征的地圖特征標識符。該方法還包括使地圖數據和地圖特征的描述經由通信網絡向客戶端設備傳輸。
【專利說明】使用聚合特征標識符來管理地圖元素
【技術領域】
[0001]本公開內容涉及地圖渲染系統,比如電子地圖顯示系統,并且更具體地涉及一種其中使用包括離散地圖元素的地圖數據來渲染地圖圖像的地圖渲染系統。
【背景技術】
[0002]這里提供的【背景技術】描述是為了總體上呈現公開內容的背景。當前具名的發明人的工作在這一【背景技術】部分中描述該工作的程度上以及該描述的可能在提交時未以其它方式適合作為現有技術的方面既未被明示地也未被暗示地承認為相對于本公開內容的現有技術。
[0003]如今,地理區域的地圖可以由在包括移動電話、汽車導航系統、手持全球定位系統(GPS)單元和計算機的廣泛多種設備上運行的軟件應用顯示。取決于應用和/或用戶偏好,地圖可以顯示地形數據、街道數據、城市交通信息、交通數據等。另外,一些應用在交互式模式中顯示地圖,從而使得用戶可以例如操作各種控件(單選按鈕、滾動欄等)以改變縮放水平或者向新位置搖動(pan) “相機”。用戶在一些情況下也可以選擇或者取消選擇某些信息的顯示。例如,用戶可以操作適當控件以接通自行車道的顯示。
[0004]為了渲染地圖圖像,客戶端設備通常從專用服務器接收光柵圖像。例如,地圖服務器可以在因特網上操作并且對于指定的地理地區向各種客戶端設備按照可移植網絡圖形(PNG)格式提供圖像。盡管光柵圖像相對易于在客戶端設備渲染,但是光柵圖像數據通常需要用于全面地圖的大量存儲空間。而且難以在客戶端設備高效地操縱光柵圖像。例如,為了放大選擇的地區,從服務器取回新光柵圖像數據,或者放大可用光柵圖像數據而質量損失明顯。另外,為了改變地圖圖像的可視性質,客戶端設備必須請求來自地圖服務器的新光柵圖像數據。
【發明內容】
[0005]在一個實施例中,一種用于經由通信網絡向客戶端設備提供地圖數據的計算機實施的方法包括生成地圖數據,地圖數據符合非光柵格式并且用于在客戶端設備渲染地理區域的光柵地圖圖像。光柵地圖圖像包括若干地圖元素,每個地圖元素與在地理區域中的相應物理實體或者物理實體的一部分對應。該方法還包括生成地圖特征的描述,地圖特征包括若干地圖元素中的兩個或者更多個地圖元素并且不包括若干地圖元素中的至少一個地圖元素,其中在地圖特征中包括的地圖元素與有關物理實體或者相同物理實體的部分對應。生成地圖特征的描述包括提供地圖數據的與地圖特征對應的一部分的指示并且提供唯一地標識地圖特征的地圖特征標識符。該方法還包括使地圖數據和地圖特征的描述經由通信網絡向客戶端設備傳輸。
[0006]在另一實施例中,一種在通信網絡上操作的計算設備包括地圖數據生成器和地圖特征控制器。地圖數據生成器生成用于在客戶端設備渲染地理區域的光柵地圖圖像的地圖數據,其中地圖數據根據非光柵格式指定多個幾何形狀,并且其中光柵地圖圖像描繪在地理區域中的若干物理實體。地圖特征控制器生成與從若干物理實體選擇的兩個或者更多個物理實體的組或者與物理實體之一的兩個或者更多個部分對應的地圖特征的描述,其中地圖特征不與若干物理實體中的至少一個物理實體對應,并且其中為了生成地圖特征的描述,地圖特征控制器提供地圖數據的與地圖特征對應的一部分的指示并且提供唯一地標識地圖特征的地圖特征標識符。計算設備使地圖數據和地圖特征的描述經由通信網絡向客戶端設備傳輸。
[0007]在另一實施例中,一種在計算設備中用于提供交互式地圖內容的方法包括經由通信網絡接收符合非光柵格式的用于地理區域的地圖數據。接收地圖數據包括接收若干描述符,每個描述符指定若干地圖元素中的相應地圖元素的幾何形狀,其中每個描述符獨立可解譯以渲染對應的地圖元素。該方法還包括接收地圖特征的描述,地圖特征包括若干地圖元素中的兩個或者更多個地圖元素并且不包括若干地圖元素中的至少一個地圖元素,從而使得在地圖特征中包括的地圖元素與在地理區域中的有關物理實體或者單一物理實體的部分對應。另外,接收地圖特征的描述包括接收若干地圖元素中的哪些地圖元素與地圖特征關聯的指示。該方法還包括解譯地圖數據以生成將經由用戶界面顯示的光柵地圖圖像,包括渲染多個地圖元素,并且經由用戶界面提供多個地圖元素中的兩個或者更多個地圖元素與地圖特征關聯的指示。
【專利附圖】
【附圖說明】
[0008]圖1是根據一個實施例的系統的框圖,在該系統中,具有地圖控制器的地圖服務器向客戶端設備提供用于渲染地圖圖像的地圖數據和地圖特征的描述,該地圖特征聚合被渲染為地圖圖像的部分的若干地圖元素;
[0009]圖2是可以在圖1的系統中操作的示例地圖控制器的框圖;
[0010]圖3A是可以在圖1的系統中操作的客戶端設備顯示的具有地圖特征的示例地圖,該地圖特征包括若干建筑、場地和行人通道;
[0011]圖3B是可以被渲染為由若干地圖瓦片組成的光柵地圖圖像的圖3A的地圖,其中地圖特征包括在不同地圖瓦片中渲染的地圖元素;
[0012]圖3C是圖3A的地圖,其中自動地選擇若干地圖元素作為地圖特征的成分;
[0013]圖4是圖示了用于向可以在圖1的系統中操作的客戶端設備提供地圖數據和地圖特征描述的示例信息交換的交互圖;
[0014]圖5是用于在可以在圖1的系統中操作的地圖服務器生成地圖數據和地圖特征描述的示例方法的流程圖;
[0015]圖6是用于在可以在圖1的系統中操作的地圖服務器生成地圖特征描述的示例方法的流程圖;并且
[0016]圖7是用于在可以在圖1的系統中操作的客戶端設備處理地圖數據和地圖特征描述的示例方法的流程圖。
【具體實施方式】
[0017]一般而言,地圖服務器向客戶端設備按照非光柵格式提供用于渲染光柵地圖圖像的地圖數據,該光柵地圖圖像描繪各種地圖元素(比如建筑、公園、場地、水體、公路段、自行車道和行人通道,并且也提供至少一個聚合地圖特征的描述,該至少一個聚合地圖特征具有與公共行政單位對應或者以其它方式在邏輯上有關的若干分離的地圖元素。非光柵格式可以例如是矢量圖形格式。地圖服務器可以提供地圖數據的什么部分與聚合地圖特征對應的指示以便允許客戶端設備的用戶高效地選擇和操縱與聚合地圖特征關聯的多個地圖元素。以這一方式,用戶可以引用聚合地圖特征以自動地醒目顯示、去除、添加和更新組成聚合地圖特征的各種地圖元素的可視特性。地圖服務器也可以提供唯一地圖特征描述符,地圖服務器和客戶端設備可以在后續通信中利用該地圖特征描述符以引用聚合地圖特征。更特別地,使用地圖特征描述符,客戶端設備可以請求與聚合地圖特征有關的附加信息,t匕如用于渲染在新縮放水平或者在選擇地圖的新類型時變成可視的附加地圖元素的地圖數據。另外,地圖服務器可以在向客戶端設備提供可視樣式數據(即,與地圖元素的可視屬性(比如線條粗度、線條顏色、填充顏色等)有關的信息)時使用地圖特征標識符。
[0018]聚合地圖特征可以與學術機構(比如大學)、商業實體(比如購物中心)、企業實體(比如公司)、工廠或者廠房、醫院綜合體、住宅分部或者包括地理地區中的有關物理實體的任何其它部分對應。在一些情況下,例如,如果物理實體由在不同地圖瓦片中提供的多個地圖元素代表,則聚合地圖特征可以與相同物理實體的若干部分對應(如以下更具體討論的那樣)。一般而言,地圖特征可以是有多個地圖元素而為聚合或者僅有一個地圖元素而為非聚合。例如,地圖服務器可以提供建筑的基于矢量的描述作為可以在客戶端設備被個別解譯和渲染的、在更新縮放水平或者地圖類型時與其它地圖元素獨立地被添加或者去除的、被指派個別標簽等的某個地圖特征。在另一方面,聚合地圖特征可以包括相同類型(例如,若干建筑的綜合體)或者不同類型(例如,建筑、公園和行人通道)的若干地圖元素。另夕卜,聚合地圖特征在一些場景中具有“嵌套”結構并且包括具有多個地圖元素的一個或者若干地圖特征。例如,在一些實施例中,每個地圖元素定義相應的地圖特征,將某些地圖特征組聚合成更大聚合地圖特征,并且將更大地圖特征中的一些更大地圖特征聚合成進而更大聚合地圖特征。更進一步,聚合地圖特征可以包括在分離的地圖瓦片中渲染的地圖元素或者地圖圖像的某個大小的部分。
[0019]為了清楚,包括僅一個地圖元素的地圖特征可以在這里被稱為地圖元素。而且,由于以下討論主要涉及具有多個地圖元素的聚合地圖特征,所以這樣的地圖特征有時可以在以下被簡稱為地圖特征。
[0020]參照圖1,可以在系統10中實施用于向客戶端設備提供地圖和地圖特征數據以及在客戶端設備使用提供的數據以高效地操縱地圖特征的技術。在一個實施例中,系統10包括地圖服務器12、經由網絡16通信地耦合到地圖服務器12的客戶端設備14和通信地耦合到地圖服務器12的地圖數據庫18。網絡16可以是廣域網(WAN)(比如因特網)、局域網(LAN)或者任何其它適當類型的網絡。為了向客戶端設備15提供地圖和特征數據,地圖服務器12可以生成電子消息并且經由網絡16傳輸這些消息。根據該實施例,地圖服務器18可以如圖1中所示經由網絡16或者經由另一通信鏈路耦合到地圖服務器12。為了簡化,在圖1中圖示了地圖服務器12、客戶端設備14和地圖數據庫18的僅一個實例。然而,在其它實施例中,系統10可以包括多于一個地圖服務器12、多于一個客戶端設備14和/或多于一個地圖數據庫18。例如,在一些實施例中,地圖服務器12向包括臺式計算機、便攜計算機、平板計算機、智能電話等的各種客戶端設備14提供地圖數據。[0021]地圖服務器12可以包括處理器20和計算機可讀存儲器22,計算機可讀存儲器22以例如可以直接(例如,作為編譯的代碼)或者間接(例如,作為由在處理器20上執行的另一應用解譯的腳本)在處理器20上可執行的計算機指令的形式存儲地圖控制器30。計算機可讀存儲器22可以包括用于存儲計算機指令和計算機指令在運行時對其操作的數據的易失性存儲器(例如,隨機存取存儲器或者RAM)并且在一個實施例中包括持久存儲器,如比如硬盤。在一些實施例中,地圖服務器12包括多個處理器20。另外,在一些實施例中,可以使用硬件部件、固件部件、軟件部件或者其任何組合來實施地圖控制器30。
[0022]在一個實施例中,地圖控制器30按照非光柵格式(比如矢量圖形格式)生成將作為地圖數據向客戶端設備14提供的用于選擇的地理地區的各種地圖元素的描述。一般而言,基于矢量的地圖數據可以指定各種幾何形狀(例如,使用點和連接點的路徑的數學描述)并且指示應當如何對這些形狀定位以用于渲染各種地圖元素,比如公路、建筑、公園、水體等。例如,并非指定組成線段的光柵圖像的每個像素,線段的基于矢量的描述可以指定線段的兩個端點并且指示兩個端點由直線連接。地圖元素的基于矢量的描述可以在這里被稱為矢量描述符或者簡稱為矢量,并且一個或者若干矢量描述符的集合可以被稱為矢量數據。一般而言,可以使用某個矢量描述符來描述地圖元素。如參照圖2更具體地討論的那樣,地圖控制器30可以按照將在客戶端設備渲染地理地區的地圖時的縮放水平、在客戶端設備渲染地圖所根據的地圖類型(例如,地形、交通、運輸等)、先前提供的地圖數據等生成地理地區的基于矢量的描述。而且,在一些實施例中,地圖服務器可以與指示應當如何渲染矢量數據的樣式數據分離地提供描述地圖內容的矢量數據。
[0023]地圖控制器30可以包括地圖特征控制器32,地圖特征控制器32生成具有一個或者若干地圖元素的地圖特征的描述。在一個實施例中,地圖特征控制器32生成哪些矢量描述符(并且因而哪些地圖元素)與某個地圖特征對應的指示。例如,地圖特征控制器32可以生成消息,該消息包括指定聚合地圖特征的聚合特征標識符的字段,繼而為聚合特征標識符涉及的地圖特征的列表。地圖特征的列表可以包括矢量描述符和/或標簽數據。備選地,地圖特征的列表可以包括相應的特征標識符。在任一情況下,在解析消息時,客戶端設備14可以確定在列表中包括的地圖特征與相同聚合特征標識符關聯。為了確定地圖數據的哪個部分(例如,矢量描述符的哪個集合)與某個地圖特征關聯,地圖特征控制器32可以使用地圖數據庫18中存儲的用于適當地理地區的地圖內容表34。
[0024]繼續參照圖1,地圖內容表34可以包括用于個別地圖元素(比如建筑、公路、公園等)的記錄。對于每個地圖元素,地圖內容表34可以提供指定地圖元素的幾何形狀的矢量描述符。在一個實施例中,地圖內容表34也提供附加信息,比如樣式數據(該樣式數據轉而可以指定用于根據不同地圖類型渲染地圖元素的多個可視樣式)、用于指示是否在另一重疊地圖元素之上或者以下渲染地圖元素的深度指示、標簽信息、用于指示地圖元素在哪些縮放水平變成可視或者停止可視的縮放數據等。地圖內容表34也可以指示地圖元素與如果存在的哪些地圖特征關聯。例如,在圖1中所圖示的地圖內容表34的片段中,類型建筑的地圖元素、類型公路的地圖元素和類型公園的地圖元素由不同矢量描述符描述但是與相同地圖特征Fl關聯。
[0025]根據該實施例,地圖控制器30可以在單個電子消息或者一系列電子消息中向客戶端設備14提供用于某個地理地區(以及根據一個實施例用于某個縮放水平和/或某個地圖類型)的地圖數據。另外,在一個實施例中,地圖控制器30生成地圖數據作為地圖瓦片描述符集合,從而使得每個地圖瓦片描述符描述地圖瓦片,即某個大小(例如,256X256個像素)的地圖圖像的一部分。由個別地圖瓦片代表的地理地區的大小可以依賴于地圖瓦片與之關聯的縮放水平。一般而言,縮放水平對應于與地圖圖像或者地圖圖像的一部分(例如,由于改變視點的仰角)的表觀距離。在一個實施例中,在更低縮放水平的單個地圖瓦片圖示比在更高縮放水平的單個地圖瓦片更大的地理區域。地圖控制器30可以根據矢量圖形格式生成每個地圖瓦片描述符,并且客戶端設備(比如圖1的客戶端設備14)可以在本地生成包括一個或者若干瓦片的光柵圖像。在一些場景中,可以在不同地圖瓦片中提供地圖特征的地圖元素。例如,如果在分離的地圖元素中提供與單個物理實體(比如建筑)的相應的部分對應的若干地圖元素,則地圖控制器30可以生成地圖元素。
[0026]仍然參照圖1,客戶端設備14可以包括用于執行指令的處理器50以及用于存儲指令和數據的存儲器52。客戶端設備14也可以包括分別用于從用戶接收輸入和向用戶提供輸出的輸入設備54和輸出設備56。例如,輸入設備54可以包括鍵盤、鼠標和觸屏中的一項或者多項,并且輸出設備56可以包括觸屏或者另一類型的監視器。客戶端設備14可以包括用于控制輸入設備54和輸出設備56以便實施交互式用戶界面的各種軟件部件,比如設備驅動器、操作系統(OS)事件處置器等。另外,在處理器50上執行的軟件應用可以利用這些軟件部件以提供專用用戶界面。
[0027]根據該實施例,客戶端設備14可以是個人計算機(比如臺式計算機、膝上型計算機或者平板PC)、工作站、便攜通信設備(比如智能電話)或者任何其它適當計算設備。在一個實施例中,客戶端設備14是對于某些計算和/或存儲功能依賴于另一計算設備的所謂的瘦客戶端。例如,在一個這樣的實施例中,存儲器52僅包括易失性存儲器(比如RAM),并且具有持久存儲器的程序和/或存儲單元在客戶端設備14外部。在另一實施例中,存儲器52包括易失性和持久存儲器部件二者。
[0028]瀏覽器應用60可以包括在處理器50上執行的計算機可讀指令集。一般而言,瀏覽器應用60訪問包括內容(比如文本、圖像、嵌入式視頻等)和按照標記語言(比如超文本標記語言(HTML))的指令的網頁并且根據按照標記語言的指令在輸出設備56上渲染內容。為此,瀏覽器應用60可以實施用于生成和處理符合超文本傳送協議(HTTP)的數據分組、解析HTML內容、根據安全套接字層(SSL)協議對數據編碼、請求和驗證數字證書等的功能以及用于接收與導航、渲染和管理網頁數據有關的各種用戶命令的用戶界面功能。在一些實施例中,瀏覽器應用60被配置用于解譯在網頁中提供的按照腳本語言(例如,Javascript)的指令。
[0029]地圖渲染引擎62可以作為瀏覽器應用60的部件執行。然而,在其它實施例中,與地圖渲染引擎62相似的軟件模塊可以作為單獨應用或者作為另一應用的部件執行。根據該實施例,地圖渲染引擎62可以是插件(例如,擴展瀏覽器應用60的功能并且在處理器50上執行的編譯的指令集)、腳本(例如,由瀏覽器應用60在運行時解譯的按照腳本語言的指令集)或者另一適當軟件部件。根據一個示例場景,在操作客戶端設備14的用戶瀏覽包括嵌入式交互式地圖的網頁時下載地圖渲染引擎62。更具體而言,網頁可以包括指向在線地圖服務器和某個地理位置的第一超鏈接以及指向地圖渲染引擎62的副本的第二超鏈接,該副本是為了渲染根據第一超鏈接從在線地圖服務器接收的地圖數據而需要的。地圖渲染引擎62可以從地圖服務器12接收矢量數據(并且在一些實施例中接收樣式數據)、使用接收的矢量數據來渲染對應的地圖圖像并且使地圖圖像顯示于由瀏覽器應用60分配的某個地區內。例如,瀏覽器應用60可以創建用于顯示地圖元素的HTML5畫布元素。
[0030]另外,地圖渲染引擎62可以例如經由瀏覽器應用60的用戶界面提供交互式控件。交互式控件可以允許用戶選擇地理地區或者區域、地圖類型(例如,基本、交通、運輸)、縮放水平等。另外,在一個實施例中,地圖渲染引擎62包括特征操縱器64,特征操縱器64提供用于除了個別地圖元素(或者非聚合地圖特征)之外還選擇聚合地圖特征的交互式用戶控件。例如,地圖特征操縱器64可以提供附加按鈕和/或識別用于操縱具有多個地圖元素的地圖特征的附加鍵擊事件。特征操縱器64可以處理從地圖服務器12接收的地圖特征描述并且響應于確定用戶已經決定選擇某個地圖特征來自動地標識和選擇與地圖特征關聯的地圖元素。作為更具體示例,用戶可以點擊在地圖上描繪的個別地圖元素,并且特征操縱器64可以確定地圖元素與具有多個地圖元素的聚合地圖特征關聯并且醒目顯示整個地圖特征,即點擊的地圖元素以及用戶未點擊的一個或者多個附加地圖元素。作為另一示例,特征操縱器64可以確定鼠標指針在與聚合地圖特 征關聯的地圖元素之上“懸停”并且與以上描述的場景相似地自動地醒目顯示包括地圖元素的整個地圖特征。更一般而言,特征操縱器64可以處理鼠標事件或者來自另一適當設備的事件以支持懸停、觸摸和其它用戶交互類型。
[0031]為了簡化,客戶端設備14被圖示為具有單個處理器50。然而,客戶端設備14在其它實施例中可以包括附加處理單元(未示出),如比如被配置用于有助于在輸出設備56上的圖像渲染的圖形處理單元(GPU)。另外,在一個實施例中,瀏覽器應用60可以利用圖形函數庫以用于高效地生成地圖圖像。例如,瀏覽器應用60可以利用支持3D圖形(如比如WebGL)的軟件庫。作為另一示例,存儲器52可以存儲具有用于渲染如下圖形的函數的
插件(比如OpenGL?或者Direct3D_R::庫),在客戶端14上執行的包括瀏覽器應用60
的各種應用可以經由應用編程接口(API)訪問這些圖形。而且,在一些實施例中,存儲器52存儲有助于經由輸出設備56高效渲染圖像的附加軟件部件。例如,存儲器52可以存儲
Adobe'* Flash.κ.插件或者 03D 插件。
[0032]應當注意,除了瀏覽器應用60之外或者作為瀏覽器應用60的備選,地圖渲染引擎62可以在任何適當應用(比如地圖繪制應用)中操作。與瀏覽器應用60相似,地圖繪制應用可以包括在存儲器52中存儲并且在客戶端設備14或者相似設備的一個或者多個處理器上可執行的指令集。在一些實現方式中,地圖繪制應用利用由瀏覽器應用60(例如,經由對應的瀏覽器API)提供的聯網功能。在另一實現方式中,地圖繪制應用包括至少部分瀏覽器功能,比如用于訪問地圖服務器12的支持TCP、IP、HTTP等的通信棧。
[0033]現在參照圖2,地圖控制器80可以例如在圖1的地圖服務器12中作為地圖控制器30操作,或者在被配置用于向一個或者若干客戶端設備提供地圖數據的另一設備中操作。地圖控制器80可以包括被實施為軟件模塊(例如,在計算機可讀介質上存儲并且可由一個或者若干處理器解譯的計算機指令)、硬件模塊、固件模塊或者其任何適當組合的若干部件。一般而言,地圖控制器80可以被配置用于處理來自客戶端設備(比如客戶端設備14)的對于與指定的地理地區對應的地圖數據的請求。例如,地圖控制器80可以接收對于與在維度41° 52’43’’和經度-87° 38’ 11’’居中的兩英里寬的地區對應的地圖數據的請求。請求也可以指示請求的地圖數據的縮放水平。請求也可以指示地圖類型,例如,基本、交通、
運輸等。
[0034]在一個實施例中,地圖控制器80包括地圖數據生成器82、樣式生成器84、地圖特征控制器86和用于提供在地圖數據的貯存庫(比如圖1的地圖數據庫18)與部件82、84和86之間的通信的數據庫接口模塊88。在操作期間,地圖數據生成器82例如生成用于各種地圖元素的基于矢量的地圖數據,這些地圖元素被作為地圖內容向客戶端設備14提供。為此,地圖數據生成器82可以經由數據庫接口模塊88與地圖服務器通信。地圖數據生成器82可以生成指定地圖元素的幾何性的矢量描述符,并且在一些情況下也可以作為地圖數據的部分而(或者除了地圖數據之外還)提供標簽數據、深度指示和其它參數。在一些實施例中,地圖數據生成器82根據一個實施例生成地圖數據作為地圖瓦片描述符的集合,從而使得每個地圖瓦片描述符描述地圖瓦片。由個別地圖瓦片代表的地理地區的大小依賴于地圖瓦片與之關聯的縮放水平,從而使得在更低縮放水平的單個地圖瓦片圖示比在更高縮放水平的單個地圖瓦片更大的地理區域。地圖數據生成器82可以根據矢量圖形格式生成每個地圖瓦片描述符,并且客戶端設備可以在本地生成用于與一個或者若干瓦片對應的地理地區的光柵圖像。雖然每個瓦片被分離地并且相互獨立地渲染,但是地圖數據生成器82在一些實施例中將多個瓦片渲染在一起以生成單個光柵圖像。
[0035]另外,地圖樣式生成器84可以生成用于在客戶端設備應用于地圖內容的樣式數據。樣式一般可以由相應的唯一樣式標識符標識,并且每個樣式可以與用于渲染地圖元素的一個或者若干可視樣式對應。可視樣式轉而可以指定將在渲染基于矢量的地圖數據時使用的可視特性。地圖樣式生成器84可以在每特征類型的基礎上提供樣式數據。例如,地圖數據生成器82可以提供用于作為類型建筑的地圖特征的每個建筑的矢量數據,并且地圖樣式生成器84可以提供客戶端設備向與這一類型的地圖特征對應的所有矢量描述符應用的樣式數據。
[0036]地圖特征控制器86可以生成將與對應的地圖數據一起向客戶端設備提供的地圖特征的描述符。與以上討論的地圖特征控制器32相似,地圖特征控制器86可以被配置用于生成非光柵地圖數據的哪個部分與特定地圖特征對應的指示。地圖特征控制器86也可以被配置用于生成用于在客戶端設備和/或在其中實施地圖控制器80的設備使用的唯一地圖特征標識符。在一些實施例中,地圖特征控制器86提供用于與地圖特征關聯的每個矢量描述符的標志或者其它指示符。例如,矢量描述符可以是具有特征_標識符字段的數據結構,該字段指定由矢量描述符指定的地圖元素屬于如果存在的哪個地圖特征。由于聚合地圖特征可以包括若干地圖特征,每個地圖特征具有相應的特征標識符,所以地圖特征控制器86也可以提供用于指示如何將個別地圖特征分組成聚合地圖特征的附加數據。例如,地圖特征控制器86可以用非聚合地圖特征的標識符填充字段特征_標識符并且也用對應的聚合地圖特征的標識符填充字段聚合_特征_標識符。
[0037]在其它實施例中,地圖特征控制器86指定地圖特征地區的邊界,該地圖特征地區圍繞與地圖特征關聯的所有地圖元素。可以用任何適當方式(比如維度/經度二元組的集合、按照矢量圖形格式的多邊形等)指定邊界。地圖特征地區的邊界在許多情況下并未與地圖瓦片的邊界重合。另外,地圖特征地區可以圍繞多個地圖瓦片中的地圖元素。[0038]另外,地圖特征控制器86在一些場景中生成在客戶端設備與地圖特征一起顯示的公共文本標簽(例如,字母數字串)。注意,在一些情況下,組成地圖特征的地圖元素也與個別標簽關聯。另外,地圖特征控制器86可以向客戶端設備提供對與聚合地圖特征關聯的一些或者所有地圖元素或者特征公共的樣式信息。例如,地圖特征控制器86可以生成如下指示,該指示為對于作為運輸地圖的部分而被渲染的某個聚合地圖特征MF1,使用與用于運輸地圖類型的可視樣式VSl對應的樣式SI在客戶端設備顯示所有關聯的地圖元素,并且向客戶端設備提供這一指示。以這一方式,可以使用相似線條粗度、顏色等來顯示不同類型(例如,建筑、公路、公園)的地圖元素。在另一實施例中,地圖特征控制器86指定用于聚合地圖特征的僅在客戶端設備醒目顯示地圖特征時使用的公共樣式。在組成聚合地圖特征的地圖特征中的一些地圖特征與某些地圖特征類型關聯時,客戶端設備可以在未醒目顯示聚合地圖特征時根據對應的地圖特征類型將樣式應用于矢量描述符,并且在醒目顯示地圖特征時應用為聚合地圖特征指定的樣式。
[0039]根據一些實施例,在地圖控制器80向客戶端設備提供用于渲染與某個區域或者地理地區對應的第一地圖圖像(例如,基本地圖圖像)的地圖數據之后,地圖服務器向客戶端設備提供用于渲染與相同區域對應的第二不同地圖圖像(例如,交通地圖圖像)的修改數據。客戶端設備然后可以使用先前提供的用于渲染第一地圖圖像的地圖數據和修改數據來渲染第二地圖圖像,并且地圖服務器無需必然向客戶端設備多于一次提供在渲染第一地圖圖像和第二圖像二者時使用的地圖數據。取決于場景,修改數據可以包括以新矢量描述符的形式向先前提供的地圖數據的一個或者多個添加、先前提供的地圖數據的(可以使用特征標識符被標識的)一個或者若干部分的刪除或者先前提供的地圖數據的(也可以使用特征標識符被標識的)一個或者若干部分的修改。在這些情況中的一些情況下,添加的矢量描述符可以包括聚合地圖特征的標識符。另外,用于刪除的地圖特征的特征標識符可以標識聚合地圖特征以僅使用單個特征標識符來高效地去除多個地圖元素。
[0040]接著,參照圖3A至圖3C討論地圖的若干示例,該地圖描繪與地理區域中的有關物理實體的組對應的聚合地圖特征。特別地,參照圖3A討論示例地圖特征,該示例地圖特征包括大學的若干建筑、運動場和行人通道,在圖3B中圖示將光柵地圖圖像示例劃分成若干地圖瓦片,并且在圖3C中圖示地圖特征的若干成分的示例選擇。回顧圖1,地圖渲染引擎62可以例如使用由地圖控制器30提供的地圖數據來生成圖3A至圖3C的地圖圖像。
[0041]首先參照圖3A,地圖圖像100描繪華盛頓西雅圖內的若干城市街區,這些城市街區中的一些城市街區屬于西雅圖大學。更具體而言,地圖圖像100描繪若干地圖元素,t匕如由行人通道120互連的大學建筑102、104、106、108和110。大學也包括由城市街道從建筑102-110分離的若干運動和/或休閑建筑物112、130和132。在一個實施例中,地圖元素102-132由于分離的矢量描述符描述,從而使得可以個別地并且與每個其它地圖元素獨立地渲染地圖元素102-132中的每個地圖元素。另外,矢量描述符可以定義相應的非聚合地圖特征,這些非聚合地圖特征中的至少一些非聚合地圖特征可以與個別標簽(例如,“學生中心”)關聯。街區140和142也與西雅圖大學關聯,并且被使用與向未與西雅圖大學關聯的相鄰城市街區應用的顏色或者陰影不同的顏色或者陰影來渲染。然而,街區140和142不包括至少在地圖圖像100對應于的縮放水平被個別圖示的建筑物、公園或者其它物理實體。在一個實施例中,以矢量描述符的形式提供包括街區140和142的各種城市街區,這些矢量描述符指定圍繞相應區域的多邊形。
[0042]除了描述在地圖圖像100中描繪的幾何形狀的地圖數據之外,客戶端設備可以接收地圖元素102-142與聚合地圖特征關聯的指示。為此,可以對于與地圖元素102-142對應的每個矢量描述符提供公共特征標識符。在另一實施例中,在包括頭部和/或尾部部分的數據塊中提供與地圖元素102-142對應的矢量描述符,該頭部和/或尾部部分具有矢量描述符與公共地圖特征對應的指示。一般而言,可以使用用于指示地圖元素102-142與聚合地圖特征關聯的任何適當技術。
[0043]根據示例場景,與西雅圖大學對應的聚合地圖特征具有各種地圖瓦片中的地圖元素。例如,如圖3B中所示,地圖圖像100可以由地圖瓦片150、152、154和156組成。地圖瓦片150-156中的每個地圖瓦片可以是使用地圖數據來生成的光柵圖像的一部分。在示例實現方式中,在向客戶端設備傳輸時根據地圖瓦片對地圖數據分組。客戶端設備可以被配置用于將每個地圖瓦片與其它地圖瓦片獨立地渲染。備選地,客戶端設備接收與多個瓦片對應的地圖數據,并且并非分離地將每個地圖瓦片渲染為對應的光柵圖像,客戶端設備可以生成與多個地圖瓦片對應的單個光柵圖像。在圖3B的示例中,在地圖瓦片152中提供地圖元素102-110、120、140和142,在地圖瓦片156中提供地圖元素130和132,并且在地圖瓦片154中提供地圖元素112。在生成與多個地圖瓦片對應的光柵圖像時,客戶端設備可以保持在地圖瓦片中提供的地圖元素與聚合特征之間的關聯,從而使得用戶可以選擇并且操縱跨越多個地圖瓦片的聚合地圖特征。
[0044]另外,聚合地圖特征在一些情況下可以包括與相同單一物理實體(比如建筑、公園、湖泊等)的部分對應的地圖元素。例如,某個建筑的表示的三分之二可以被提供作為一個地圖瓦片中的第一地圖元素,并且建筑的表示的其余三分之一可以被提供作為另一地圖瓦片中的第二地圖元素。地圖服務器在這一場景中可以生成兩個地圖瓦片的分離的描述(其中地圖瓦片中的每個地圖瓦片包括對應的地圖元素),并且向客戶端設備傳輸這些描述。然而,為了允許客戶端設備經由客戶端設備的用戶界面將第一地圖元素和第二地圖元素呈現為單個地圖元素,地圖服務器也可以生成包括第一地圖元素和第二地圖元素的聚合地圖特征的描述。
[0045]另外,在一個實施例中,可以在多級實施將地圖元素或者特征分組成聚合地圖特征。例如,如圖3C中所示,與西雅圖大學關聯的若干但是并非所有地圖元素可以與地圖特征180對應。在圖3A中所示的示例中,地圖特征180的描述指定包含對應的地圖元素(可以是以上參照圖3A和圖3B討論的元素102-119和120)的地理地區的邊界。在示例場景中,用戶在被標注為學生中心的建筑旁邊點擊地圖,并且選擇由地圖特征180的邊界圍繞的區域。
[0046]接著參照圖4討論用于渲染地圖圖像的示例信息交換,該地圖圖像包括一個或者若干聚合地圖特征。消息交換200涉及到在客戶端設備(比如圖1的客戶端14)中包括或者與客戶端設備關聯的用戶界面202、在客戶端設備中操作的地圖渲染引擎204和服務器206(比如圖1的地圖服務器12)。回顧圖1,用戶界面可以由瀏覽器60提供,而動態地圖渲染引擎204和服務器206可以分別實施于部件62和12中。
[0047]響應于用戶命令,用戶界面202可以生成對于用于某個地區R的地圖數據的請求210并且向地圖渲染引擎204提供請求。可以例如傳輸請求210作為在其中實施部件202和204的客戶端設備內部的電子消息。在一個實施例中,請求210指定縮放水平和地圖類型(例如,基本地圖)。動態地圖渲染引擎204轉而可以生成將經由通信網絡向服務器206傳輸的對于地圖數據的請求212。請求212可以使用(可以例如使用GPS設備來獲得的)維度和經度或者以任何其它適當方式指定地區R。
[0048]響應于請求212,服務器206可以生成響應214,響應214按照非光柵格式(比如按照矢量圖形格式)包括用于渲染地圖圖像的地圖數據。響應114可以包括用任何適當方式(比如在一個或者若干瓦片描述符T1, T2,…Tn中)組織的地圖數據。一般而言,可以提供用于任何數目的瓦片(包括單個瓦片)的地圖數據。對于每個瓦片,響應214可以描述各種地圖元素或者非聚合地圖特征F1, F2,…FM,這些地圖元素或者非聚合地圖特征中的每個地圖元素或者非聚合地圖特征可以根據適當矢量圖形格式使用矢量描述符被指定。除了非聚合地圖特征F1, F2,…Fm之外,響應214可以描述包括非聚合地圖特征F1, F2,…Fm中的兩個或者更多個非聚合地圖特征的聚合地圖特征Fa。如以上討論的那樣,聚合地圖特征Fa的描述可以包括非聚合地圖特征F1, F2,…Fm中的哪些非聚合地圖特征與地圖特征Fa關聯的指示、用于在后續通信中標識地圖特征Fa的唯一特征標識符、將在某些條件之下與地圖特征Fa —起顯示的標簽等。動態地圖渲染引擎204可以渲染地圖圖像、向用戶界面202提供地圖圖像并且生成對應的事件216。在一些實施例中,動態地圖渲染引擎204可以在存儲器中存儲接收的地圖數據(并且可用時存儲樣式數據)以用于將來使用。
[0049]在以后時間,用戶可以使用經由用戶界面202提供的交互式控件選擇聚合地圖特征。作為響應,用戶界面 202可以生成用于指示地圖特征已經被選擇的事件218。在一個實施例中,事件218僅指定已經選擇的在地圖圖像上的位置并且指示用戶希望選擇聚合地圖特征。地圖渲染引擎204可以確定用戶已經選擇了哪個地圖元素、自動地標識與相同聚合地圖特征關聯的所有其它地圖元素并且更新地圖圖像以指示已經選擇了地圖特征(事件220)。例如,回顧圖3C,事件220可以使在圍繞的區域中的地圖元素被醒目顯示。
[0050]接著參照圖5至圖7討論可以在圖1的系統或者相似環境中操作的計算設備中實施的若干示例方法。這些方法可以被實施為用任何適當編程語言開發并且在有形、非瞬態計算機可讀介質(比如一個或者若干硬盤驅動)上存儲并且在一個或者若干處理器上可執行的計算機程序。例如,可以在地圖服務器12中實施圖5和圖6的方法,并且可以在客戶端設備14中實施圖7的方法。雖然可以在個別計算機(比如服務器或者個人計算機(PC))上實施圖5至圖7的方法,但是也有可能例如在云計算環境中使用若干計算機以分布式方式實施這些方法中的至少一些方法。
[0051]首先參照圖5,可以例如在地圖控制器30或者80中實施用于與聚合地圖特征的描述一起生成地圖數據的示例方法300。根據一個實施例,在塊302生成用于渲染與某個地理地區對應的第一地圖圖像的按照非光柵格式的地圖數據。地圖數據可以例如包括符合矢量圖形格式并且描述相應的地圖元素的矢量描述符。在一個實施例中,每個矢量描述符定義相應的地圖特征。地圖數據可以被提供為用于在與由地圖服務器和客戶端設備識別的某個格式相符的電子消息中傳輸的數據結構。
[0052]接著,在塊304,指定地圖數據的與聚合地圖特征對應的部分。聚合地圖特征可以例如包括若干非聚合地圖特征以及附加信息,比如公共標簽、深度指示等。可以在地圖特征的描述符中包括地圖的與地圖特征對應的部分的指示。在塊306,提供用于地圖特征的唯一特征標識符。在一些情況下,可以從地圖數據庫(比如圖1的數據庫18)取回唯一特征標識符。在其它情況下,在執行方法300期間生成唯一特征標識符。在任何情況下,可以在地圖特征的描述符中與在塊304生成的指示一起包括唯一特征標識符。
[0053]在塊308,向客戶端設備提供地圖數據和地圖特征的描述。例如,可以經由通信網絡向客戶端設備傳輸一個或者若干電子消息。
[0054]現在參照圖6,可以例如在地圖特征控制器86或者相似模塊中實施用于生成地圖特征描述的示例方法350。在一個實施例中,在以上討論的方法300的塊304-306執行方法350的步驟中的至少一些步驟。
[0055]在塊352,標識將在用于選擇的地理區域、縮放水平和地圖類型的地圖圖像中包括的地圖元素。然后,在塊354標識包括兩個或者更多個地圖元素的聚合地圖特征,并且在塊356提供每個地圖元素的矢量描述。在塊358,生成在塊352標識的地圖元素中的哪些地圖元素與地圖特征關聯的指示。在一個實施例中,提供每個地圖元素作為具有相應的特征標識符的非聚合地圖特征,并且在塊358生成的指示包括特征標識符列表。可以與個別地圖特征的描述符一起或者分離地提供特征標識符列表。在另一實施例中,在塊358生成的指示包括一個或者多個標志,該一個或者多個標志界定矢量描述符列表的一部分以指示矢量描述符中的哪些矢量描述符與聚合地圖特征關聯。
[0056]圖7是用于在客戶端設備處理地圖數據和地圖特征描述的示例方法400的流程圖。根據一個實施例,在圖1中所示的客戶端設備14中實施方法400。
[0057]在塊402,從地圖服務器取回按照非光柵格式的地圖數據。在一個實施例中,地圖數據指示地圖數據的哪個部分與聚合地圖特征對應。在塊404解譯地圖數據以渲染各種地圖元素。接著,在塊406,經由用戶界面選擇某個地圖元素。用戶可以例如點擊或者觸摸在地圖中描繪的某個建筑。然后,在塊408接收對于選擇與選擇的地圖元素關聯的地圖特征的請求。作為響應,方法400標識選擇的地圖元素與之關聯的地圖特征(塊410)。在塊412,標識也與地圖特征關聯的一個或者多個附加地圖元素。然后,在塊414更新地圖圖像以反映與聚合地圖特征關聯的多個地圖元素的自動選擇。例如,可以更新地圖圖像以醒目顯示屬于地圖特征的所有可視地圖元素。
[0058]貫穿本說明書,多個實例可以實施被描述為單個實例的部件、操作或者結構。雖然一種或者多種方法的個別操作被圖示和描述為分離的操作,但是可以并行執行個別操作中的一個或者多個操作并且未要求按照所示順序執行操作。在示例配置中作為分離的部件而被呈現的結構和功能可以被實施為組合的結構或者部件。相似地,作為單個部件而被呈現的結構和功能可以被實施為分離部件。這些和其它變化、修改、添加以及改進落入這里的主題內容的范圍內。例如,網絡16可以包括但不限于LAN、MAN、WAN、移動、有線或者無線網絡、專用網絡或者虛擬專用網絡的任何組合。
[0059]此外,某些實施例在這里被描述為包括邏輯或者多個部件、模塊或者機構。模塊可以構成軟件模塊(例如,在機器可讀介質上或者在傳輸信號中體現的代碼)或者硬件模塊。硬件模塊是能夠執行某些操作的有形單元并且可以用某種方式來配置或者布置。在示例實施例中,一個或者多個計算機系統(例如,單獨客戶端或者服務器計算機系統)或者計算機系統的一個或者多個硬件模塊(例如,處理器或者處理器組)可以由軟件(例如,應用或者應用部分)配置為操作用于執行如這里描述的某些操作的硬件模塊。[0060]在各種實施例中,硬件模塊可以包括被持久地配置(例如,作為專用處理器,比如現場可編程門陣列(FPGA)或者專用集成電路(ASIC))用于執行某些操作的專用電路或者邏輯。硬件模塊也可以包括被軟件暫時配置以用于執行某些操作的可編程邏輯或者電路(例如,包含于通用處理器或者其它可編程處理器內)。因而,術語硬件應當被理解為包含有形實體,即被物理上構造、被持久配置(例如,硬接線)或者被暫時配置(例如,編程)用于以某種方式操作或者執行這里描述的某些操作的實體。考慮其中硬件模塊被暫時配置(例如,編程)的實施例,無需在任何一個時間時刻配置或者實例化硬件模塊中的每個硬件模塊。例如,在硬件模塊包括使用軟件被配置的通用處理器時,通用處理器可以在不同時間被配置為相應的不同硬件模塊。軟件可以相應地配置處理器以例如在一個時間時刻構成特定硬件模塊并且在不同時間時刻構成不同硬件模塊。
[0061]硬件和軟件模塊可以向其它硬件和/或軟件模塊提供信息和從其它硬件和/或軟件模塊接收信息。因而,描述的硬件模塊可以被視為被通信地耦合。在多個這樣的硬件或者軟件模塊同時存在時,可以通過連接硬件或者軟件模塊的信號傳輸(例如,通過適當電路和總線)實現通信。在其中在不同時間配置或者實例化多個硬件模塊或者軟件的實施例中,可以例如通過在這樣的硬件或者軟件模塊有權訪問的存儲器結構中存儲和取回信息來實現在多個硬件或者軟件模塊之間的通信。例如,一個硬件或者軟件模塊可以執行操作并且在它通信地耦合到的存儲器設備中存儲該操作的輸出。又一硬件或者軟件模塊然后可以在以后時間訪問存儲器設備以取回和處理存儲的輸出。硬件和軟件模塊也可以發起與輸入或者輸出設備的通信并且可以對資源(例如,信息匯集)操作。
[0062]這里描述的示例方法的各種操作可以至少部分由被(例如,軟件)暫時地配置或者持久地配置以用于執行相關操作的一個或者多個處理器執行。無論是被暫時地還是持久地配置,這樣的處理器可以構成操作用于執行一個或者多個操作或者功能的處理器實施的模塊。這里所稱的模塊可以在一些不例實施例中包括處理器實施的模塊。
[0063]相似地,這里描述的方法可以至少部分由處理器實施。例如,方法的操作中的至少一些操作可以由一個或者多個處理器或者處理器實施的硬件模塊執行。操作中的某些操作的執行可以分布于一個或者多個處理器之中,并非僅駐留于單個機器內,而是跨越多個機器而被部署。在一些示例實施例中,一個或者多個處理器可以位于單個位置(例如,家用環境、辦公室環境內或者作為服務器群),而在其它實施例中,可以跨越多個位置分布處理器。
[0064]一個或者多個處理器也可以操作用于支持在“云計算”環境中執行相關操作。例如,操作中的至少一些操作可以由計算機組(作為包括處理器的機器的示例)執行,經由網絡(例如,因特網)和經由一個或者多個適當接口(例如,應用程序接口(API))可訪問這些操作。
[0065]操作中的某些操作的執行可以被分布于一個或者多個處理器之中,不是僅駐留于單個機器內,而是跨越多個機器而被部署。在一些示例實施例中,一個或者多個處理器或者處理器實施的模塊可以位于單個地理位置(例如,家庭環境、辦公室環境或者服務器群內)。在其它示例實施例中,可以跨越多個地理位置分布一個或者多個處理器或者處理器實施的模塊。
[0066]在對作為位或者二進制數字信號存儲于機器存儲器(例如,計算機存儲器)內的數據的操作的算法或者符號表示方面呈現本說明書的一些部分。這些算法或者符號表示是數據處理領域普通技術人員用來向本領域其他技術人員傳達他們的工作實質的技術的示例。如這里所用,“算法”或者“例程”是促成所需結果的自一致操作序列或者相似處理。在本文中,算法、例程和操作涉及到物理數量的物理操縱。通常但是并非必需,這樣的數量可以采用能夠由機器存儲、訪問、傳送、組合、比較或者以其他方式操縱的電、磁或者光信號。主要出于普遍用法的原因而使用諸如“數據”、“內容”、“位”、“值”、“單元”、“符號”、“字符”、“項”、“數”、“數值”等用詞來指代這些信號有時是便利的。然而,這些用詞僅為便利標記并且將與適當物理數量關聯。
[0067]除非另有具體陳述,這里使用諸如“處理”、“計算”、“運算”、“確定”、“呈現”、“顯示”
等用詞的討論可以指代機器(例如,計算機)的動作或者過程,該機器操縱或者變換在一個或者多個存儲器(例如,易失性存儲器、非易失性存儲器或者其組合)、寄存器或者接收、存儲、傳輸或者顯示信息的其它機器部件內表示為物理(例如,電子、磁或者光)數量的數據。
[0068]如這里所用,對“一個實施例”或者“實施例”的任何引用意味著結合該實施例描述的特定單元、特征、結構或者特性包含于至少一個實施例中。短語“在一個實施例中”出現于說明書中的各處未必都指代相同實施例。
[0069]可以使用表達“耦合”和“連接”及其派生詞來描述一些實施例。例如,可以使用術語“耦合”來描述一些實施例以指示兩個或者更多單元相互直接物理或者電接觸。然而,術語“耦合”也可以意味著兩個或者更多單元未相互直接接觸,但是仍然相互配合或者交互。實施例在本文中不受限制。
[0070]如這里所用,術語“包括”、“具有”或者其任何其它變化旨在于覆蓋非窮舉包括。例如,包括單元列表的過程、方法、物品或者裝置未必僅限于那些單元,而是可以包括未明確列舉的或者這樣的過程、方法、物品或者裝置固有的其它單元。另外,除非相反明示,“或者”指代包括意義的或者而不是窮舉意義的或者。例如,以下各項中的任一項滿足條件A或者B:A為真(或者存在)并且B為假(或者不存在)、A為假(或者不存在)并且B為真以及A和B均為真(或者存在)。
[0071]此外,對“一個/ 一種”的使用用來描述這里的實施例的單元和部件。這樣做僅為了方便以及給出該描述的一般意義。這一描述應當被解讀為包括一個或者至少一個,并且單數除非明顯的是它另有含義則也包括復數。
[0072]另外,各圖僅出于例示的目的而描繪了一種地圖渲染系統的優選實施例。本領域技術人員將從以下討論中容易認識到可以運用這里所示的結構和方法的備選實施例而未脫離這里描述的原理。
[0073]在閱讀本公開內容時,本領域技術人員將領會到用于如下系統和過程的更多附加備選結構和功能設計,該系統和過程用于使用這里的公開原理來提供地圖和地圖特征數據。因此,盡管已經圖示和描述了具體實施例和應用,但是將理解,公開的實施例不限于這里公開的精確構造和部件。可以在這里公開的方法和裝置的布置、操作和細節上進行本領域技術人員將清楚的各種修改、改變和變化而未脫離在所附權利要求中定義的精神實質和范圍。
【權利要求】
1.一種用于經由通信網絡向客戶端設備提供地圖數據的計算機實施的方法,所述方法包括: 生成符合非光柵格式的地圖數據,其中所述地圖數據用于在所述客戶端設備渲染地理區域的光柵地圖圖像,其中所述光柵地圖圖像包括多個地圖元素,每個地圖元素與在所述地理區域中的相應物理實體或者物理實體的一部分對應; 生成地圖特征的描述,所述地圖特征包括所述多個地圖元素中的兩個或者更多個地圖元素并且不包括所述多個地圖元素中的至少一個地圖元素,其中在所述地圖特征中包括的所述地圖元素與有關物理實體或者相同物理實體的部分對應,包括: 提供所述地圖數據的與所述地圖特征對應的一部分的指示,并且 提供唯一地標識所述地圖特征的地圖特征標識符;并且 使所述地圖數據和所述地圖特征的所述描述經由通信網絡向所述客戶端設備傳輸。
2.根據權利要求1所述的方法,其中生成所述地圖數據包括為所述多個地圖元素中的每個地圖元素生成相應矢量描述符,所述相應矢量描述符根據矢量圖形格式指定所述地圖元素的幾何性。
3.根據權利要求1所述的方法,其中所述光柵地圖圖像與相等大小的多個地圖瓦片對應,其中生成所述地圖數據包括: 生成所述地圖數據的用于渲染所述多個地圖瓦片中的第一地圖瓦片的第一子集;并且 生成所述地圖數據的用于渲染所述多個地圖瓦片中的第二地圖瓦片的第二子集;其中: 所述地圖數據的所述第一子集和所述地圖數據的所述第二子集中的每個子集適于獨立于所述地圖數據的所述子集和所述地圖數據的所述第二子集中的另一子集而被渲染為相應光柵圖像,并且 所述地圖特征包括在所述地圖數據的所述第一子集中提供的第一地圖元素和在所述地圖數據的所述第二子集中提供的第二地圖元素。
4.根據權利要求3所述的方法,其中所述第一地圖元素與物理實體的第一部分對應,并且所述第二地圖元素與所述物理實體的第二部分對應。
5.根據權利要求4所述的方法,其中所述物理實體是建筑。
6.根據權利要求1所述的方法,其中生成所述地圖特征的所述描述還包括提供用于與所述地圖特征的所述多個地圖元素中的所述兩個或者更多個地圖元素一起使用的公共文本標簽。
7.根據權利要求6所述的方法,還包括提供用于所述地圖特征的所述多個地圖元素中的所述兩個或者更多個地圖元素中的每個地圖元素的相應個別文本標簽。
8.根據權利要求1所述的方法,還包括提供用于指示樣式的公共樣式標識符,所述地圖特征的所述多個地圖元素中的所述兩個或者更多個地圖元素在所述客戶端設備根據所述樣式被渲染。
9.根據權利要求1所述的方法,還包括: 在使所述地圖數據和所述地圖特征的所述描述向所述客戶端設備傳輸之后,接收對于與所述地理區域對應的附加地圖數據的請求; 按照所述非光柵格式生成附加地圖元素集合的描述,其中不與所述地圖數據一起提供所述附加地圖元素; 標識所述附加地圖元素集合中的與所述地圖特征關聯的地圖元素; 提供標識的所述地圖元素與所述地圖特征對應的指示,包括與標識的所述地圖元素一起提供所述地圖特征標識符;并且 使所述附加地圖元素集合的所述描述和標識的所述地圖元素與所述地圖特征對應的所述指示經由所述通信網絡向所述客戶端設備傳輸。
10.根據權利要求9所述的方法,其中接收對于與所述地理區域對應的附加地圖數據的所述請求包括接收以下各項中的至少一項的指示:(i)新縮放水平,所述地理區域的新光柵地圖圖像將在所述客戶端設備在所述新縮放水平被渲染,或者(ii)新地圖類型,所述地理區域的所述新光柵地圖圖像將在所述客戶端設備根據所述新地圖類型被渲染,其中所述新地圖類型是地形地圖、交通地圖、運輸地圖、衛星地圖或者自行車道地圖之一。
11.根據權利要求1所述的方法,其中從包括公路段、建筑和邊界區域的組選擇所述多個地圖元素中的每個地圖元素。
12.根據權利要求1所述的方法,其中提供所述地圖數據的所述一部分的所述指示包括指定區域的邊界,所述區域包圍所述多個地圖元素中的所述兩個或者更多個地圖元素中的所有地圖元素,并且其中指定的所述邊界不與在其中所述地圖特征被渲染的一個或者多個地圖瓦片的邊界重 合。
13.—種在通信網絡上操作的計算設備,所述計算設備包括: 地圖數據生成器,生成用于在客戶端設備渲染地理區域的光柵地圖圖像的地圖數據,其中所述地圖數據根據非光柵格式指定多個幾何形狀,并且其中所述光柵地圖圖像描繪在所述地理區域中的多個物理實體;以及 地圖特征控制器,生成與從所述多個物理實體選擇的兩個或者更多個物理實體的組或者與所述多個物理實體之一的兩個或者更多個部分對應的地圖特征的描述,其中所述地圖特征不與所述多個物理實體中的至少一個物理實體對應,并且其中為了生成所述地圖特征的所述描述,所述地圖特征控制器(i)提供所述地圖數據的與所述地圖特征對應的一部分的指示并且(ii)提供唯一地標識所述地圖特征的地圖特征標識符; 其中所述計算設備使所述地圖數據和所述地圖特征的所述描述經由所述通信網絡向所述客戶端設備傳輸。
14.根據權利要求13所述的計算設備,其中對于所述多個物理實體中的每個物理實體,所述地圖數據生成器根據矢量圖形格式生成相應地圖元素的至少一個矢量描述,其中每個矢量描述在所述客戶端設備獨立可解譯以渲染對應的幾何形狀。
15.根據權利要求14所述的計算設備,其中所述地圖數據生成器還提供用于每個地圖元素的相應深度指示,其中所述深度指示指示相對于至少一個重疊地圖元素渲染所述地圖元素的順序。
16.根據權利要求14所述的計算設備,其中所述多個物理實體包括物理實體,所述地圖數據生成器為所述物理實體生成與所述物理實體的第一部分對應的第一地圖元素的第一矢量描述和與所述物理實體的第二部分對應的第二地圖元素的第二矢量描述。
17.根據權利要求13所述的計算設備,其中所述多個物理實體中的每個物理實體是建筑、公路段、公園或者水體之一。
18.根據權利要求17所述的計算設備,其中所述地圖特征與包括在行政上有關的建筑和公路段的組對應。
19.根據權利要求13所述的計算設備,其中所述地圖數據生成器還生成(i)將與所述地圖特征一起顯示的公共文本標簽和(ii)將與關聯于所述地圖特征的每個地圖元素一起顯示的相應個別文本標簽。
20.根據權利要求13所述的計算設備,還包括數據庫接口模塊,用于經由通信鏈路接收: 與在所述地理區域中的所述多個相應物理實體對應的多個地圖元素的描述,以及 多個地圖特征的描述,每個地圖特征與所述多個地圖元素中的兩個或者更多個地圖元素關聯, 其中為了生成所述地圖數據,所述地圖數據生成器基于在所述客戶端設備選擇的縮放水平和地圖類型來選擇所述多個地圖元素的所述描述的子集。
21.根據權利要求20所述的計算設備,其中所述多個地圖元素中的至少一個地圖元素與所述多個地圖特征中的 兩個或者更多個地圖特征關聯。
22.—種在計算設備中用于提供交互式地圖內容的方法,所述方法包括: 經由通信網絡接收符合非光柵格式的用于地理區域的地圖數據,包括接收多個描述符,每個描述符指定多個地圖元素中的相應地圖元素的幾何形狀,其中所述多個描述符中的每個描述符獨立可解譯以渲染對應的地圖元素; 接收地圖特征的描述,所述地圖特征包括所述多個地圖元素中的兩個或者更多個地圖元素并且不包括所述多個地圖元素中的至少一個地圖元素,其中在所述地圖特征中包括的所述地圖元素與在所述地理區域中的有關物理實體或者單一物理實體的部分對應,包括接收所述多個地圖元素中的哪些地圖元素與所述地圖特征關聯的指示; 解譯所述地圖數據以生成將經由用戶界面顯示的光柵地圖圖像,包括渲染所述多個地圖元素;并且 經由所述用戶界面提供所述多個地圖元素中的所述兩個或者更多個地圖元素與所述地圖特征關聯的指示。
23.根據權利要求22所述的方法,還包括提供用于選擇所述地圖特征而不個別地選擇所述多個地圖元素中的所述兩個或者更多個地圖元素中的每個地圖元素的用戶控件,其中響應于用戶激活所述用戶控件來自動地選擇所述多個地圖元素中的所述兩個或者更多個地圖元素中的每個地圖元素。
24.根據權利要求23所述的方法,還包括響應于所述用戶激活所述用戶控件來修改所述光柵地圖圖像,包括生成與所述地圖特征關聯的所述多個地圖元素中的所述兩個或者更多個地圖元素中的每個地圖元素的醒目顯示的表示。
25.根據權利要求22所述的方法,還包括提供用于去除所述地圖特征而不個別地選擇所述多個地圖元素中的所述兩個或者更多個地圖元素中的每個地圖元素以用于去除的用戶控件,其中響應于用戶激活所述用戶控件來自動地去除所述多個地圖元素中的所述兩個或者更多個地圖元素中的每個地圖元素。
26.根據權利要求22所述的方法,其中: 所述地圖特征對應于商業實體、企業實體或者學術機構之一,并且所述地圖特征包括與建筑對應的地圖元素和與公園對應的地圖元素。
27.根據權利要求22所述的方法,其中所述地圖特征與單一物理實體對應并且包括與所述物理實體的第一部分對應的第一地圖元素和與所述物理實體的第二部分對應的第二地圖元素。
28.根據權利要求22所述的方法,其中解譯所述地圖數據以生成光柵地圖圖像包括: 解譯所述地圖數據的第一部分以按照光柵格式渲染第一地圖瓦片;并且 解譯所述地圖數據的第二部分以按照所述光柵格式渲染第二地圖瓦片; 其中所述地圖特征包括在所述第一地圖瓦片中被渲染的第一地圖元素和在所述第二地圖瓦片中被渲染的第二地圖元素。
29.根據權利要求22所述的方法,其中接收地圖特征的所述描述還包括接收唯一地標識所述地圖特征的特征標識符。
30.根據權利要求22所述的方法,其中接收地圖特征的所述描述還包括接收將與所述地圖特征一起顯示的公共文本標簽。
【文檔編號】G06Q50/10GK103946837SQ201280057233
【公開日】2014年7月23日 申請日期:2012年9月25日 優先權日:2011年9月26日
【發明者】J·莫勒, B·康奈爾, D·奧特羅 申請人:谷歌公司