使用聚合特征标识符来管理地图元素的制作方法

文档序号:6497372阅读:267来源:国知局
使用聚合特征标识符来管理地图元素的制作方法
【专利摘要】一种用于经由通信网络向客户端设备提供地图数据的计算机实施的方法包括生成地图数据,地图数据符合非光栅格式并且用于在客户端设备渲染地理区域的光栅地图图像。光栅地图图像包括若干地图元素,每个地图元素与在地理区域中的相应物理实体或者物理实体的一部分对应。该方法还包括生成地图特征的描述,地图特征包括若干地图元素中的两个或者更多个地图元素并且不包括若干地图元素中的至少一个地图元素,其中在地图特征中包括的地图元素与有关物理实体或者相同物理实体的部分对应。生成地图特征的描述包括提供地图数据的与地图特征对应的一部分的指示并且提供唯一地标识地图特征的地图特征标识符。该方法还包括使地图数据和地图特征的描述经由通信网络向客户端设备传输。
【专利说明】使用聚合特征标识符来管理地图元素
【技术领域】
[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·奥特罗 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1