CN103514280B - 一种实现地图标签分区域动态添加的方法和装置 - Google Patents
一种实现地图标签分区域动态添加的方法和装置 Download PDFInfo
- Publication number
- CN103514280B CN103514280B CN201310451193.8A CN201310451193A CN103514280B CN 103514280 B CN103514280 B CN 103514280B CN 201310451193 A CN201310451193 A CN 201310451193A CN 103514280 B CN103514280 B CN 103514280B
- Authority
- CN
- China
- Prior art keywords
- map
- label
- region
- area
- global
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Instructional Devices (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种实现地图标签分区域动态添加的方法和装置,所述方法包括:步骤1、地图页面初始化;步骤2,加载缺省区域标签;步骤3、判断地图显示区域是否改变,如改变则页面逻辑根据显示区域坐标,计算相交叉区域集合;步骤4、遍历相交叉区域集合,判断是否已经加载标签;步骤5、如果未加载,则加载该区域内的标签;步骤6、地图更新。通过本发明,能够有效的解决大量标签数据的页面加载延迟问题,实现了按需、分区域、动态加载的效果,提高了页面初始化速度,节约了服务器网络带宽。
Description
技术领域
本发明涉及电子地图领域,特别涉及一种实现地图标签分区域动态添加的方法和装置。
背景技术
传统电子地图中的街景应用,一般都是采用二维地图做导航,在地图上添加标签。标签与确定区域内的某点街景关联。标签代表街景位置的链接。用户点击标签,实现地图和街景图片的联动,从而起到导航的作用。
街景应用一般都是针对一个城市规模来实施的。城市内有很多区、街道,街道上每隔10几米就要有一个取景点,总体上,一个城市一般都要有几千甚至几万的取景点,这还是仅针对中等规模的城市来说。如果是北上广这样的大型城市,则数据量会更多。如果这么大的数据量要在一个地图内一次性加载,则页面的初始化会非常耗时,用户体验会很差。同时也大量的消耗服务端的网络带宽。为此需要提供一个有效的方法来实现按需加载,提高页面的加载速度。
发明内容
鉴于现有技术中存在的问题,本发明目的在于提供一种能够有效的解决大量标签数据的页面加载延迟问题的方案,从而实现按需、分区域、动态加载的效果,提高页面初始化速度,节约服务器网络带宽。
根据本发明的一个方面,提供了一种实现地图标签分区域动态添加的方法,其特征在于包括:
步骤1、地图页面初始化;
步骤2,加载缺省区域标签;
步骤3、判断地图显示区域是否改变,如改变则页面逻辑根据显示区域坐标,计算相交叉区域集合;
步骤4、遍历相交叉区域集合,判断是否已经加载标签;
步骤5、如果未加载,则加载该区域内的标签;
步骤6、地图更新。
优选的,标签在服务器端是和区域关联的,服务端包括有全局区域配置文件,该文件内记录了所有的区域配置,包括区域名称、区域目录、各区域左上顶点坐标和右下顶点坐标。
优选的,服务器端在每个区域目录内包括有标签配置文件,区域配置和标签配置是一对多关系。
优选的,所述步骤1和2具体包括:
浏览器从服务器端下载全局区域配置文件,并解析该文件,将解析结果存入一个全局区域映射g_dir_map内,将缺省区域ID写入全局变量g_curr_dir;
浏览器从服务器端根据变量g_curr_dir值,下载当前区域内的标记文件,并解析该文件,将结果存入全局标签映射g_point_map内;
浏览器遍历全局标签映射g_point_map内的标签元素,并逐一初始化。
优选的,所述步骤3-5具体包括:
如果用户地图显示区域发生变化,则在事件触发脚本里计算当前显示区域坐标位置,该显示区域也为矩形,也由两个坐标点确定;
浏览器遍历全局区域映射g_dir_map,计算每个区域是否和当前显示区域有交叉,如果有则加入返回区域数组;
浏览器遍历返回区域数组,把每个区域对应目录的标签配置文件加载,解析并添加到全局标签映射g_point_map内;
浏览器遍历全局标签映射g_point_map,逐一加载标签。
根据本发明的另一方面,提供了一种实现地图标签分区域动态添加的装置,其特征在于包括:
用于地图页面初始化的装置;
用于加载缺省区域标签的装置;
用于判断地图显示区域是否改变,如改变则页面逻辑根据显示区域坐标,计算相交叉区域集合的装置;
用于遍历相交叉区域集合,判断是否已经加载标签的装置;
用于如果未加载,则加载该区域内的标签的装置;
用于地图更新的装置。
优选的,标签在服务器端是和区域关联的,服务端包括有全局区域配置文件,该文件内记录了所有的区域配置,包括区域名称、区域目录、各区域左上顶点坐标和右下顶点坐标。
优选的,服务器端在每个区域目录内包括有标签配置文件,区域配置和标签配置是一对多关系。
附图说明
图1例示了本发明实施例一种实现地图标签分区域动态添加的方法流程图。
具体实施方式
为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明所述的用于标签分区域动态加载,其关键技术难点有两个:
1)区域如何划分;
2)标签如何动态加载。
传统web平面地图,都是基于墨卡托投影坐标系实现的:具体到每个城市,都可以将一个城市的地图,看做是由多个矩形拼接而成,而每个矩形就可以看做是一个划分的区域,矩形区域只要有两个坐标点就可以确定,一个是左上角坐标,一个是右下角坐标。
如何确定区域的坐标呢,这个可以根据城市的规模,街道与景点的分布情况,灵活设置,一般可以1平方公里范围作为一个区域。区域与区域之间原则上不应重合。
如何实现标签动态加载呢?标签的加载要根据地图的当前显示区域来确定,页面初始化过程中,先要加载缺省区域内的标签。当地图显示区域改变后,页面逻辑要判断要加载哪个区域的标签来填补当前显示区域,即计算出有哪个区域落在当前显示区域,以此从后台加载所在区域的标签数据。
根据上述思路,图1例示了本发明实施例一种实现地图标签分区域动态添加的方法流程图。如图1所示,所述方法包括步骤:
步骤1、地图页面初始化;
步骤2,加载缺省区域标签;
步骤3、判断地图显示区域是否改变,如改变则页面逻辑根据显示区域坐标,计算相交叉区域集合;
步骤4、遍历相交叉区域集合,判断是否已经加载标签;
步骤5、如果未加载,则加载该区域内的标签;
步骤6、地图更新。
实际实现过程中,标签在服务器端是和区域关联的,服务端例如包括有全局区域配置文件dir.xml,该文件内记录了所有的区域配置,包括区域名称、区域目录、各区域左上顶点坐标和右下顶点坐标。
区域配置文件举例:
<Names>
<Name Text="区域A"Start="116.38919,39.90691"
End="116.48919,39.92691"Dir="default"/>
<Name Text="区域B"Start="116.38918,39.90698"
End="116.48918,39.92698"Dir="sample"/>
</Names>
同时,服务器端例如在每个区域目录(对应文件目录)内还包括有标签配置文件marker.xml,区域配置和标签配置是一对多关系。
标签配置文件条目例如:
<Names>
<Name ID="S0001"Text="markerA"Point="116.41556,39.85847"/>
<Name ID="S0002"Text="markerB"Point="116.41557,39.85848"/>
</Names>
在此情况下,上述地图页面加载的详细过程可例如包括:
浏览器从服务器端下载全局区域配置文件dir.xml,并解析该文件,将解析结果存入一个全局区域映射g_dir_map内,将缺省区域ID写入全局变量g_curr_dir;其中该变量记录当前区域,缺省值=’default’;
浏览器从服务器端根据变量g_curr_dir值,下载当前区域内的标记文件/default/marker.xml,并解析该文件,将结果存入全局标签映射g_point_map内;
浏览器遍历全局标签映射g_point_map内的标签元素,并逐一初始化;
如果用户地图显示区域发生变化,则在事件触发脚本里可以计算当前显示区域坐标位置,该显示区域也为矩形,也由两个坐标点确定;
浏览器遍历全局区域映射g_dir_map,计算每个区域是否和当前显示区域有交叉,如果有则加入返回区域数组;
浏览器遍历返回区域数组,把每个区域对应目录的标签配置文件加载,解析并添加到全局标签映射g_point_map内;
浏览器遍历全局标签映射g_point_map,逐一加载标签。
以上通过结合附图例示了本发明的方法实施方式,此外,本发明还包括相应的装置实施方式。本发明的装置与方法完全对应,可通过设置相关功能模块对应执行方法中的各个步骤,也可以任意组合、拆分功能模块的划分。可通过完全以计算机程序的方式实现于一个芯片上,也可以分置实现于多个芯片、DSP、FPGA等之上。本发明的装置例如包括:
用于地图页面初始化的装置;
用于加载缺省区域标签的装置;
用于判断地图显示区域是否改变,如改变则页面逻辑根据显示区域坐标,计算相交叉区域集合的装置;
用于遍历相交叉区域集合,判断是否已经加载标签的装置;
用于如果未加载,则加载该区域内的标签的装置;
用于地图更新的装置。
本发明装置的更多细节与上述方法实施方式完全对应,这里不再一一重复赘述。
通过本发明,能够有效的解决大量标签数据的页面加载延迟问题,实现了按需、分区域、动态加载的效果,提高了页面初始化速度,节约了服务器网络带宽。
以上是对本发明的优选实施例进行的详细描述,但本领域的普通技术人员应该意识到,在本发明的范围内和精神指导下,各种改进、添加和替换都是可能的,例如使用可实现同种功能目的的算法、使用不同的编程语言(如C、C++、Java等)实现等。这些都在本发明的权利要求所限定的保护范围内。
Claims (4)
1.一种实现地图标签分区域动态添加的方法,其特征在于包括:
步骤1、地图页面初始化;
步骤2,加载缺省区域标签;
步骤3、判断地图显示区域是否改变,如改变则页面逻辑根据显示区域坐标,计算相交叉区域集合;
步骤4、遍历相交叉区域集合,判断是否已经加载标签;
步骤5、如果未加载,则加载该区域内的标签;
步骤6、地图更新,
其中,标签在服务器端是和区域关联的,服务器端在每个区域目录内包括有标签配置文件,区域配置和标签配置是一对多关系,
步骤1和2具体包括:
浏览器从服务器端下载全局区域配置文件,并解析该文件,将解析结果存入一个全局区域映射g_dir_map内,将缺省区域ID写入全局变量g_curr_dir;
浏览器从服务器端根据变量g_curr_dir值,下载当前区域内的标记文件,并解析该文件,将结果存入全局标签映射g_point_map内;
浏览器遍历全局标签映射g_point_map内的标签元素,并逐一初始化;
步骤3-5具体包括:
如果用户地图显示区域发生变化,则在事件触发脚本里计算当前显示区域坐标位置,该显示区域也为矩形,也由两个坐标点确定;
浏览器遍历全局区域映射g_dir_map,计算每个区域是否和当前显示区域有交叉,如果有则加入返回区域数组;
浏览器遍历返回区域数组,把每个区域对应目录的标签配置文件加载,解析并添加到全局标签映射g_point_map内;
浏览器遍历全局标签映射g_point_map,逐一加载标签。
2.如权利要求1所述的方法,其特征在于:
服务器端包括有全局区域配置文件,该文件内记录了所有的区域配置,包括区域名称、区域目录、各区域左上顶点坐标和右下顶点坐标。
3.一种实现地图标签分区域动态添加的装置,其特征在于包括:
用于地图页面初始化的装置;
用于加载缺省区域标签的装置;
用于判断地图显示区域是否改变,如改变则页面逻辑根据显示区域坐标,计算相交叉区域集合的装置;
用于遍历相交叉区域集合,判断是否已经加载标签的装置;
用于如果未加载,则加载该区域内的标签的装置;
用于地图更新的装置,
其中,标签在服务器端是和区域关联的,服务器端在每个区域目录内包括有标签配置文件,区域配置和标签配置是一对多关系,
其中,用于地图页面初始化的装置和地图页面初始化的装置具体包括:
浏览器从服务器端下载全局区域配置文件,并解析该文件,将解析结果存入一个全局区域映射g_dir_map内,将缺省区域ID写入全局变量g_curr_dir;
浏览器从服务器端根据变量g_curr_dir值,下载当前区域内的标记文件,并解析该文件,将结果存入全局标签映射g_point_map内;
浏览器遍历全局标签映射g_point_map内的标签元素,并逐一初始化;
其中,用于判断地图显示区域是否改变,如改变则页面逻辑根据显示区域坐标,计算相交叉区域集合的装置具体包括:如果用户地图显示区域发生变化,则在事件触发脚本里计算当前显示区域坐标位置,该显示区域也为矩形,也由两个坐标点确定;浏览器遍历全局区域映射g_dir_map,计算每个区域是否和当前显示区域有交叉,如果有则加入返回区域数组;
其中,用于遍历相交叉区域集合,判断是否已经加载标签的装置具体包括:浏览器遍历返回区域数组,把每个区域对应目录的标签配置文件加载,解析并添加到全局标签映射g_point_map内;
其中,用于如果未加载,则加载该区域内的标签的装置具体包括:浏览器遍历全局标签映射g_point_map,逐一加载标签。
4.如权利要求3所述的装置,其特征在于:
服务器端包括有全局区域配置文件,该文件内记录了所有的区域配置,包括区域名称、区域目录、各区域左上顶点坐标和右下顶点坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310451193.8A CN103514280B (zh) | 2013-09-27 | 2013-09-27 | 一种实现地图标签分区域动态添加的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310451193.8A CN103514280B (zh) | 2013-09-27 | 2013-09-27 | 一种实现地图标签分区域动态添加的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514280A CN103514280A (zh) | 2014-01-15 |
CN103514280B true CN103514280B (zh) | 2017-05-24 |
Family
ID=49897004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310451193.8A Active CN103514280B (zh) | 2013-09-27 | 2013-09-27 | 一种实现地图标签分区域动态添加的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514280B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766487A (zh) * | 2017-10-16 | 2018-03-06 | 千寻位置网络有限公司 | 矢量瓦片数据的加载方法及系统、服务终端、存储器 |
CN110134748A (zh) * | 2019-04-24 | 2019-08-16 | 上海乂学教育科技有限公司 | 地图资源加载系统及方法 |
CN112843727A (zh) * | 2021-03-17 | 2021-05-28 | 厦门极致互动网络技术股份有限公司 | 一种基于Tiledmap的地图数据导出方法 |
CN113776546A (zh) * | 2021-09-03 | 2021-12-10 | 上海擎朗智能科技有限公司 | 一种机器人路径的确定方法、装置、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845094A (zh) * | 2006-04-29 | 2006-10-11 | 上海杰图软件技术有限公司 | 构建全景电子地图服务的方法 |
CN101349567A (zh) * | 2008-07-29 | 2009-01-21 | 方圆信通科技(北京)有限公司 | 基于gps和移动终端的提供本地移动地理信息服务的方法 |
CN102426596A (zh) * | 2011-11-03 | 2012-04-25 | 北京地拓科技发展有限公司 | 地图加载方法和装置 |
CN102819671A (zh) * | 2012-07-25 | 2012-12-12 | 深圳市网信联动技术有限公司 | 一种结合地图进行数据分析的方法 |
US8483447B1 (en) * | 2010-10-05 | 2013-07-09 | Google Inc. | Labeling features of maps using road signs |
-
2013
- 2013-09-27 CN CN201310451193.8A patent/CN103514280B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845094A (zh) * | 2006-04-29 | 2006-10-11 | 上海杰图软件技术有限公司 | 构建全景电子地图服务的方法 |
CN101349567A (zh) * | 2008-07-29 | 2009-01-21 | 方圆信通科技(北京)有限公司 | 基于gps和移动终端的提供本地移动地理信息服务的方法 |
US8483447B1 (en) * | 2010-10-05 | 2013-07-09 | Google Inc. | Labeling features of maps using road signs |
CN102426596A (zh) * | 2011-11-03 | 2012-04-25 | 北京地拓科技发展有限公司 | 地图加载方法和装置 |
CN102819671A (zh) * | 2012-07-25 | 2012-12-12 | 深圳市网信联动技术有限公司 | 一种结合地图进行数据分析的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103514280A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6789200B2 (ja) | 非ラスター地図データの修正を利用した地図画像の描画 | |
CA2849992A1 (en) | Managing map elements using aggregate feature identifiers | |
EP2560144B1 (en) | Generating and serving tiles in a digital mapping system | |
US8681176B1 (en) | Rendering a map using style identifiers | |
CN103514280B (zh) | 一种实现地图标签分区域动态添加的方法和装置 | |
US8818726B1 (en) | Method, system, and computer program product for visualizing trip progress | |
CN104567894B (zh) | 用于提供地图数据的装置和方法及其系统 | |
CA2560560C (en) | Generating and serving tiles in a digital mapping system | |
US8698824B1 (en) | Computing systems, devices and methods for rendering maps remote from a host application | |
US20050270299A1 (en) | Generating and serving tiles in a digital mapping system | |
CN106500686A (zh) | 导航界面显示方法、物流导航方法和装置 | |
Schmidt et al. | Web mapping services: development and trends | |
CN102609517B (zh) | 一种矢量地图在线式综合服务方法及其系统 | |
CN101976534B (zh) | 电子地图生成的方法及装置 | |
CN103530356A (zh) | 电子地图服务平台以及电子地图数据联动展现的方法 | |
CN104660684A (zh) | 一种用于更新路网数据信息的方法和装置 | |
CN103902633A (zh) | 一种生成poi的热区数据的方法及其装置、系统 | |
CN103476000A (zh) | 一种基于Google地图展示电信运营渠道的方法及系统 | |
CN106814931A (zh) | 一种终端及应用程序图标的定位方法 | |
Wen et al. | Design and implementation of WebGIS system based on flash | |
Lerin et al. | Making a pictorial and verbal travel trace from a GPS trace | |
Avagliano et al. | Embedding google maps APIs into WebRatio for the automatic generation of web GIS applications | |
Pokorný | A comparison of methods for the identification of traffic levels in cities | |
Panagiotopoulos et al. | Beyond Existing e-Tourism for Mountains: Findings from the Case of Zagori, Greece | |
CN103186547B (zh) | 一种海量动态数据聚合和渲染系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |