CN105589861A - 一种在地图数据中快速定位的方法 - Google Patents

一种在地图数据中快速定位的方法 Download PDF

Info

Publication number
CN105589861A
CN105589861A CN201410565818.8A CN201410565818A CN105589861A CN 105589861 A CN105589861 A CN 105589861A CN 201410565818 A CN201410565818 A CN 201410565818A CN 105589861 A CN105589861 A CN 105589861A
Authority
CN
China
Prior art keywords
map
data point
browser
mouse
latitude
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.)
Granted
Application number
CN201410565818.8A
Other languages
English (en)
Other versions
CN105589861B (zh
Inventor
蒋文平
张乐天
林圣拿
胡佳妮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201410565818.8A priority Critical patent/CN105589861B/zh
Publication of CN105589861A publication Critical patent/CN105589861A/zh
Application granted granted Critical
Publication of CN105589861B publication Critical patent/CN105589861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种在地图数据中快速定位的方法,包括:从地图数据服务器后台获取当前地图视野内的多个地图缓存文件,并在浏览器端执行以下过程:将每个地图缓存文件以键值对方式生成为缓存对象;当鼠标悬停于所显示地图时,获得鼠标所在位置的经纬度,以确定鼠标所在位置的缓存对象并将缓存对象中每个数据点的经纬度转换为浏览器坐标,生成每个数据点在浏览器中的特定范围;当鼠标处于某个数据点的特定范围内时,高亮显示该数据点的图标和名称并添加该数据点的点击事件和鼠标移出事件。本发明仅在浏览器端实现地图数据的定位,减少了前后台网络通讯与后台数据库查询往返的时间,降低用户响应等待,提高了用户体验,也减少了后端服务器压力。

Description

一种在地图数据中快速定位的方法
技术领域
本发明涉及地理空间信息领域,特别涉及一种在地图数据中快速定位的方法。
背景技术
目前,地图数据已经广泛应用于互联网络的多种应用之中。具有代表性的基础应用例如谷歌地图(GoogleEarth)、百度地图、高德地图等,进而基于这些基础应用而开发出了大量的针对性应用,例如,车船导航应用等、休闲购物的地理信息应用等。近些年,随着移动互联网的蓬勃发展,基于手机定位服务的地图应用已广泛地发展起来,例如通过在地图上定位当前位置进而搜寻和推送附近各项服务(例如,推送餐饮地点、购物地点、娱乐地点、金融服务地点等应用),进而给手机用户带来了极大的便利,特别是对于身处异地的手机用户,更是免去了人生地不熟所带来的不便。
上述地图应用中,随着地图数据信息量的与日俱增,在进行地图定位时,需要使用大量甚至海量的地图数据。
现有技术的一种方法是,由浏览器在所显示的地图上直接绘制海量个点并在各个点上添加点击定位事件,该方法中由于浏览器性能限制(尤其是低版本浏览器),导致了在地图上直接绘制海量个点并在各个点上添加点击定位事件效率不高,浏览器因大量个点的绘制而导致内存压力过大,进而出现卡顿甚至崩溃。
现有技术的另一种方法是,提供WMS(WebMapService,Web地图服务),该WMS是利用具有地理空间位置信息的数据制作地图,其是将地图定义为地理数据可视的表现,进而根据用户的请求生成相应的地图图片(包括PNG,GIF,JPEG等栅格形式或者SVG、WEBCGM等矢量形式)。
WMS方法,可根据用户请求而实现动态出图,进而实现了大数据的地图展示,能够绕过在浏览器端进行绘制而产生的限制,但是,WMS方法中每个资源点并无节点dom(DocumentObjectModel,文件对象模型)产生,进行点击定位的性能差,需要配合地图服务查询,进而增加了地图服务的压力,使得点击定位的等待时间过程进而影响体验。
发明内容
有鉴于此,本发明提供一种在地图数据中快速定位的方法,以在浏览器端快速定位,以减少浏览器端和地图数据服务器后台之间往返数据的时间,降低地图数据服务器后台的压力,并提高用户体验。
本申请的技术方案是这样实现的:
一种在地图数据中快速定位的方法,包括:
在显示地图的大数据图层时,浏览器端从地图数据服务器后台获取当前地图视野内的至少1个地图缓存文件,并在浏览器端执行以下过程:
将每个所述地图缓存文件,以键值对方式生成为缓存对象;
当鼠标悬停于所显示地图时,获得鼠标所在位置的当前经纬度;
根据所述鼠标所在位置的当前经纬度,确定所述鼠标所在位置的缓存对象;
将所述鼠标所在位置的缓存对象中每个数据点的经纬度数据转换为在所述浏览器中的坐标,并根据所述每个数据点在所述浏览器中所显示的区域大小,生成所述每个数据点在所述浏览器中的特定范围;
当所述鼠标所在位置处于某个数据点的特定范围内时,显示该数据点的高亮图标和名称。
进一步,所述地图缓存文件分别对应当前地图视野内的地图块区域。
进一步,将每个所述地图缓存文件,以键值对方式生成为缓存对象,包括:
将每个所述地图缓存文件内的数据作为值;
将每个所述地图缓存文件的名称作为键;
将所述键和值所组成的键值对,以JSON数据格式生成为缓存对象。
进一步,当鼠标悬停于所显示地图时,获得鼠标所在位置的当前经纬度,包括:
通过地图监听鼠标的悬停事件,以获得所述鼠标在浏览器中的坐标;
通过所述鼠标在浏览器中的坐标、当前浏览器所显示地图的分辨率、以及当前浏览器所显示地图的经纬度范围计算出所述鼠标所在位置的当前经纬度:
lonm=xm×resolution+maxExtent.left
latm=maxExtent.top-ym×resolution
其中,xm为所述鼠标在浏览器中的横坐标,ym为所述鼠标在浏览器中的纵坐标,resolution为当前浏览器所显示地图的分辨率,maxExtent为当前浏览器所显示地图的经纬度范围,maxExtent.left为当前浏览器所显示地图的经纬度范围中的最左端的经度,maxExtent.top为当前浏览器所显示地图的经纬度范围中的最顶端的纬度,lonm为所述鼠标所在位置的当前经度,latm为所述鼠标所在位置的当前纬度。
进一步,根据所述鼠标所在位置的当前经纬度,确定所述鼠标所在位置的缓存对象,包括:
根据所述经纬度确定当前鼠标所在位置的地图块区域;
在所有缓存对象中,确定当前鼠标所在位置的地图块区域所对应的缓存对象的键;
根据所获取的缓存对象的键,确定所述缓存对象的值。
进一步,将所述鼠标所在位置的缓存对象中每个数据点的经纬度数据转换为在所述浏览器中的坐标,包括:
获得当前浏览器所显示地图的分辨率resolution以及当前浏览器所显示地图的经纬度范围maxExtent,并依据如下公式将所述鼠标所在位置的缓存对象中每个数据点的经纬度数据转换为在所述浏览器中的坐标:
xS=1/resolution×(lonS-maxExtent.left)
yS=1/resolution×(maxExtent.top-latS)
其中,lonS为所述数据点的经度,latS为所述数据点的纬度,xS为所述数据点在所述浏览器中的横坐标,yS为所述数据点在所述浏览器中的纵坐标。
进一步,所述特定范围为长方形范围,依据如下公式获得所述每个数据点在所述浏览器中的长方形范围:
xmin=x-w/2
ymin=y-h/2
xmax=x+w/2
ymax=y+h/2
其中,x为数据点在所述浏览器中的横坐标,y为数据点在所述浏览器中的纵坐标,w为数据点在所述浏览器中所显示的区域的宽度,h为数据点在所述浏览器中所显示的区域的高度,xmin为数据点在所述浏览器中的长方形的左边界,xmax为数据点在所述浏览器中的长方形的右边界,ymin为数据点在所述浏览器中的长方形的下边界,ymax为数据点在所述浏览器中的长方形的上边界。
进一步,显示该数据点的高亮图标和名称,包括:
在所述缓存对象中,获取该数据点的经纬度坐标、名称、ID和类型;
根据所述类型,获得该数据点的高亮图标路径;
将该数据点的高亮图标和名称进行显示。
进一步,所述方法还包括,当所述鼠标所在位置处于某个数据点的特定范围内时,添加该数据点处的点击事件;
其中,添加该数据点处的点击事件包括:
在该数据点处进行鼠标点击时,显示该数据点在所述缓存对象中所存储的至少1条信息。
进一步,所述方法还包括,当所述鼠标所在位置处于某个数据点的特定范围内时,添加该数据点处的鼠标移出事件;
其中,添加该数据点处的鼠标移出事件包括:
当鼠标移出该数据点的特定范围时,在所述浏览器中删除所显示的高亮图标和名称。
从上述方案可以看出,本发明的在地图数据中快速定位的方法,在进行大数据图层浏览时,将地图缓存数据文件从地图数据服务器后台加载到浏览器并在浏览器端执行鼠标定位等操作,定位点位信息无需提交后台查询。本发明将点击至后台查询的流程在浏览器端快速实现,减少了前后台网络通讯与后台数据库查询往返的时间,从而降低用户响应等待时间,提高用户体验,同时也减少了后端服务器压力。同时,筛选浏览器端的点位定位使用的是类似数据库索引的查询,能够快速获得鼠标位置的代表的区域名称键,通过键值对获得缓存数组,缩小了在缓存对象中的海量数据检索范围,从而快速响应鼠标事件。另外,本发明中,利用计算获得鼠标是否在某个特定范围内,通过这种方式可以精确计算出鼠标是否悬停在某个点位图标上,进而完成定位点位,并高亮展现点位信息,避免了鼠标在很小的范围内抖动导致的无法定位的问题。
附图说明
图1为本发明的在地图数据中快速定位的方法流程图;
图2为本发明中步骤2的流程图;
图3为本发明中步骤4的流程图;
图4为本发明中步骤6的流程图;
图5为本发明的在地图数据中快速定位的方法的一个具体实施例流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
如图1所示,本发明的在地图数据中快速定位的方法,包括:
步骤1、在显示地图的大数据图层时,浏览器端从地图数据服务器后台获取当前地图视野内的至少1个地图缓存文件,并在浏览器端执行以下过程:
步骤2、将每个所述地图缓存文件,以键值对方式生成为缓存对象;
步骤3、当鼠标悬停于所显示地图时,获得鼠标所在位置的当前经纬度;
步骤4、根据所述鼠标所在位置的当前经纬度,确定所述鼠标所在位置的缓存对象;
步骤5、将所述鼠标所在位置的缓存对象中每个数据点的经纬度数据转换为在所述浏览器中的坐标,并根据所述每个数据点在所述浏览器中所显示的区域大小,生成所述每个数据点在所述浏览器中的特定范围;
步骤6、当所述鼠标所在位置处于某个数据点的特定范围内时,显示该数据点的高亮图标和名称,并添加该数据点处的点击事件和鼠标移出事件。
其中,每个地图缓存文件分别对应当前地图视野内的每个地图块区域,即每个所述地图缓存文件为所述当前地图视野内的一块区域的地图数据。
其中,如图2所示,步骤2的将每个所述地图缓存文件,以键值对方式生成为缓存对象,包括:
步骤21、将每个所述地图缓存文件内的数据作为值;
步骤22、将每个所述地图缓存文件的名称作为键;
步骤23、将所述键和值所组成的键值对,以JSON(JavaScriptObjectNotation,Java描述语言对象符号)数据格式生成为缓存对象。
本发明中,之所以采用JSON数据格式,是因为JSON是一种轻量级的数据格式,易于阅读和编写,同时也易机器解析和生成。JSON是浏览器中原生支持的数据格式,可以创建包含多个"名称/值对"的记录。经过步骤2后,当前地图视野内的点数据便以块状区域划分并按照JSON数据格式的键值对方式,存储在浏览器的缓存对象中。采用JSON数据格式,可以在随后的步骤中快速获得鼠标位置区域的缓存对象名称键以及数据值。
步骤3中的当鼠标悬停于所显示地图时,获得鼠标所在位置的当前经纬度,具体包括:
通过地图监听鼠标的悬停事件,以获得所述鼠标在浏览器中的坐标;
通过所述鼠标在浏览器中的坐标、当前浏览器所显示地图的分辨率、以及当前浏览器所显示地图的经纬度范围计算出所述鼠标所在位置的当前经纬度:
lonm=xm×resolution+maxExtent.left
latm=maxExtent.top-ym×resolution
其中,xm为所述鼠标在浏览器中的横坐标,ym为所述鼠标在浏览器中的纵坐标,resolution为当前浏览器所显示地图的分辨率,maxExtent为当前浏览器所显示地图的经纬度范围,maxExtent.left为当前浏览器所显示地图的经纬度范围中的最左端的经度,maxExtent.top为当前浏览器所显示地图的经纬度范围中的最顶端的纬度,lonm为所述鼠标所在位置的当前经度,latm为所述鼠标所在位置的当前纬度。
如图3所示,步骤4中,根据所述鼠标所在位置的当前经纬度,确定所述鼠标所在位置的缓存对象,包括:
步骤41、根据所述经纬度确定当前鼠标所在位置的地图块区域;
步骤42、在所有缓存对象中,确定当前鼠标所在位置的地图块区域所对应的缓存对象的键;
步骤43、根据所获取的缓存对象的键,确定所述缓存对象的值。
在步骤5中,将所述鼠标所在位置的缓存对象中每个数据点的经纬度数据转换为在所述浏览器中的坐标,包括:
获得当前浏览器所显示地图的分辨率resolution以及当前浏览器所显示地图的经纬度范围maxExtent,并依据如下公式将所述鼠标所在位置的缓存对象中每个数据点的经纬度数据转换为在所述浏览器中的坐标:
xS=1/resolution×(lonS-maxExtent.left)
yS=1/resolution×(maxExtent.top-latS)
其中,lonS为所述数据点的经度,latS为所述数据点的纬度,xS为所述数据点在所述浏览器中的横坐标,yS为所述数据点在所述浏览器中的纵坐标。
在步骤5中,所述特定范围例如长方形范围、正方形范围、平行四边形范围、圆形范围、椭圆形范围等形状的范围,当所述特定范围为长方形范围时,依据如下公式获得所述每个数据点在所述浏览器中的长方形范围:
xmin=x-w/2
ymin=y-h/2
xmax=x+w/2
ymax=y+h/2
其中,x为数据点在所述浏览器中的横坐标,y为数据点在所述浏览器中的纵坐标,w为数据点在所述浏览器中所显示的区域的宽度,h为数据点在所述浏览器中所显示的区域的高度,xmin为数据点在所述浏览器中的长方形的左边界,xmax为数据点在所述浏览器中的长方形的右边界,ymin为数据点在所述浏览器中的长方形的下边界,ymax为数据点在所述浏览器中的长方形的上边界。
步骤6中,该数据点的高亮图标的路径可通过该数据点的图标属性获得,因此步骤6中,当所述鼠标所在位置处于某个数据点的特定范围内(例如长方形范围内)时,获得该数据点的图标属性和名称属性,进而通过图标属性加载该数据点的高亮图标并覆盖于该数据点特定范围(长方形范围),在高亮图标侧用标签显示该数据点的名称属性,之后步骤6中还进一步包括添加该数据点处的点击事件和鼠标移出事件,即对高亮图标添加该数据点的点击事件和鼠标移出事件。如图4所示,步骤6中,显示该数据点的高亮图标和名称,包括:
步骤61、在所述缓存对象中,获取该数据点的经纬度坐标、名称、ID(编号)和类型,其中类型包含了该点的图标属性;
步骤62、根据所述类型,获得该数据点的高亮图标路径;
步骤63、将该数据点的高亮图标和名称进行显示。
另外,在步骤6中,添加该数据点处的点击事件包括:在该数据点处进行鼠标点击时,显示该数据点在所述缓存对象中所存储的至少1条信息。
同时,在步骤6中,添加该数据点处的鼠标移出事件,包括:当鼠标移出该数据点的特定范围(例如长方形范围)时,在所述浏览器中删除所显示的高亮图标和名称。
以下结合一具体实施例,对本发明的在地图数据中快速定位的方法进行进一步说明,该实施例以特定范围为长方形范围为例。
如图5所示,该实施例中,包括以下步骤。
步骤a1、对地图数据进行初始化,之后进入步骤a2。
步骤a2、判断是否显示大数据图层,如果是则进入步骤a3,否则进入步骤a17。
本发明实施例中,在只有显示大数据图层时,才开启加载地图缓存文件与快速定位。在不显示大数据图层时,需要清除地图缓存文件,结束地图鼠标悬停监听。因此在步骤a2中进行判断,并针对显示大数据图层和不显示大数据图层两种情况分别进行随后步骤的处理。
步骤a3、加载当前地图视野内的地图缓存文件,之后进入步骤a4。
本步骤a3中,浏览器端从地图数据服务器后台获取当前地图视野内的多个地图缓存文件,如果地图视野范围发生改变,则加载当前视野范围内(发生改变后的)的多个缓存文件,每个地图缓存文件代表地图视野范围内的一块区域内的数据,也就是说,每个地图缓存文件分别对应当前地图视野内的每个地图块区域,即每个所述地图缓存文件为所述当前地图视野内的一块区域的地图数据。
步骤a4、按照每个地图缓存文件代表的地图区域,以键值对的方式生成缓存对象,之后进入步骤a5。
浏览器端加载地图缓存文件后,将每个地图缓存文件内的数据作为值(即数组对象),地图缓存文件的名称作为键(即名称)。存储的缓存对象为JSON数据格式,JSON数据格式易于阅读和编写,同时也易于计算机解析和生成。JSON是浏览器中原生支持的数据格式,可以创建包含多个“名称/值对”的记录。经过本步骤a4,当前地图视野内的点的数据,便以块状区域划分并按照键值对方式,存储于浏览器端的缓存对象中。
步骤a5、监听鼠标悬停,之后进入步骤a6。
鼠标停留时,触发事件,即判断用户在当前鼠标想要查看的点的信息。
步骤a6、判断是否处于鼠标悬停等待状态,如果是则进入步骤a7,否则返回步骤a5。
步骤a7、获得鼠标当前所在位置的当前经纬度,根据当前经纬度取得地图缓存文件的对应名称,之后进入步骤a8。
本步骤中,根据当前经纬度信息即可计算出当前经纬度所在的块状区域,即获得缓存文件所代表的块状区域名称,此时缓存文件已经以JSON数据格式加载至浏览器的缓存对象中。
步骤a8、从缓存对象中根据名称键值取得对应的缓存文件数据,之后进入步骤a9。
在缓存对象中,以键值对的方式取得缓存文件包含的数组对象,即获得了鼠标悬停时地图块状区域内的数据点位信息,进而,在随后的处理中便可避免浏览器在海量数据中遍历各个数据点位信息。这种方式与数据库索引类似,可以极大地加快数据的检索速度。
步骤a9、将取得的缓存文件数据的经纬度转换为浏览器坐标,根据数据点的图片大小生成每个数据点的长方形范围(即特定范围),之后进入步骤a10。
本步骤中,把步骤a8筛选出的数组数据(即所取得的缓存文件数据)的地图经纬度坐标转换为在浏览器中的相对位置,以x代表数据点在所述浏览器中的横坐标),y代表数据点在所述浏览器中的纵坐标,每个数据点有不同类型的图标大小(例如12×12px),以h代表数据点在所述浏览器中所显示的区域的高度,以w代表数据点在所述浏览器中所显示的区域的宽度,则每个点位在浏览器中的范围为
xmin=x-w/2
ymin=y-h/2
xmax=x+w/2
ymax=y+h/2
即获得每个点位在浏览器中的长方形范围。
步骤a10、判断鼠标在浏览器中的坐标是否在某个点的长方形范围内,如果是则进入步骤a11,否则返回步骤a5。
在获得筛选出的每个点的长方形范围后,即可判断鼠标点位是否在某个点长方形范围内,可通过如下两个不等式进行判断:
xmin<xm<xmax且ymin<ym<ymax
其中,xm为鼠标点位在浏览器中的横坐标,ym为鼠标点位在浏览器中的纵坐标。如果鼠标点位不在某个数组点的范围内则返回步骤a5继续监听鼠标坐标悬停事件,在某个数据点范围内则进入步骤a11展示点位信息。
步骤a11、显示点的高亮图标和名称,并添加点击事件和鼠标移出事件,之后进入步骤a12。
本步骤中,当所述鼠标所在位置处于某个点的长方形范围内时,获得该点的图标属性和名称属性,通过图标属性可获得该点的高亮图标路径,进而可加载该点的高亮图标并覆盖该点的长方形范围,在高亮图标侧可采用标签显示该点的名称属性。然后对高亮图标添加对应的点击事件和鼠标移出事件。例如,本步骤中,当所述鼠标所在位置处于某个点的长方形范围内时,获得在该长方形范围内该点的经纬度坐标、名称、ID、类型等信息,其中类型包含了该点的图标属性,根据类型可获得高亮图标路径,将该数据点的高亮图标和名称进行显示,对高亮图标添加点击事件以便随后的步骤中查看更多的点位详情信息。在随后的步骤中,如果鼠标移出高亮图标,则删除图标,并继续监听鼠标在新的位置悬停事件。
步骤a12、判断鼠标是否点击高亮图标,如果是则进入步骤a13,否则进入步骤a15。
步骤a13、在气泡中显示点位在缓存文件中的多个信息,之后进入步骤a14。
这些信息可以依据需要进行选择,例如显示点的经纬度坐标、名称、ID、类型等信息。
步骤a14、判断是否关闭气泡,如果是则进入步骤a16,否则进入步骤a15。
步骤a15、判断鼠标是否移出图标,如果是则进入步骤a16,否则等待并继续判断鼠标是否移出图标。
步骤a16、移除高亮图标和相关信息,之后返回步骤a5。
步骤a17、取消监听鼠标悬停,并进入步骤a18。
步骤a18、移除缓存对象。
至此,便完成了本发明实施例的所有步骤。
本发明提供的在地图数据中快速定位的方法,在进行大数据图层浏览时,将地图缓存数据文件从地图数据服务器后台加载到浏览器并在浏览器端执行鼠标定位等操作,定位点位信息无需提交后台查询。本发明将点击至后台查询的流程在浏览器端快速实现,减少了前后台网络通讯与后台数据库查询往返的时间,从而降低用户响应等待时间,提高用户体验,同时也减少了后端服务器压力。同时,筛选浏览器端的点位定位使用的是类似数据库索引的查询,能够快速获得鼠标位置的代表的区域名称键,通过键值对获得缓存数组,缩小了在缓存对象中的海量数据检索范围,从而快速响应鼠标事件。另外,本发明中,利用计算获得鼠标是否在某个特定范围内,通过这种方式可以精确计算出鼠标是否悬停在某个点位图标上,进而完成定位点位,并高亮展现点位信息,避免了鼠标在很小的范围内抖动导致的无法定位的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种在地图数据中快速定位的方法,包括:
在显示地图的大数据图层时,浏览器端从地图数据服务器后台获取当前地图视野内的至少1个地图缓存文件,并在浏览器端执行以下过程:
将每个所述地图缓存文件,以键值对方式生成为缓存对象;
当鼠标悬停于所显示地图时,获得鼠标所在位置的当前经纬度;
根据所述鼠标所在位置的当前经纬度,确定所述鼠标所在位置的缓存对象;
将所述鼠标所在位置的缓存对象中每个数据点的经纬度数据转换为在所述浏览器中的坐标,并根据所述每个数据点在所述浏览器中所显示的区域大小,生成所述每个数据点在所述浏览器中的特定范围;
当所述鼠标所在位置处于某个数据点的特定范围内时,显示该数据点的高亮图标和名称。
2.根据权利要求1所述的在地图数据中快速定位的方法,其特征在于:所述地图缓存文件对应当前地图视野内的地图块区域。
3.根据权利要求1所述的在地图数据中快速定位的方法,其特征在于,将每个所述地图缓存文件,以键值对方式生成为缓存对象,包括:
将每个所述地图缓存文件内的数据作为值;
将每个所述地图缓存文件的名称作为键;
将所述键和值所组成的键值对,以JSON数据格式生成为缓存对象。
4.根据权利要求1所述的在地图数据中快速定位的方法,其特征在于,当鼠标悬停于所显示地图时,获得鼠标所在位置的当前经纬度,包括:
通过地图监听鼠标的悬停事件,以获得所述鼠标在浏览器中的坐标;
通过所述鼠标在浏览器中的坐标、当前浏览器所显示地图的分辨率、以及当前浏览器所显示地图的经纬度范围计算出所述鼠标所在位置的当前经纬度:
lonm=xm×resolution+maxExtent.left
latm=maxExtent.top-ym×resolution
其中,xm为所述鼠标在浏览器中的横坐标,ym为所述鼠标在浏览器中的纵坐标,resolution为当前浏览器所显示地图的分辨率,maxExtent为当前浏览器所显示地图的经纬度范围,maxExtent.left为当前浏览器所显示地图的经纬度范围中的最左端的经度,maxExtent.top为当前浏览器所显示地图的经纬度范围中的最顶端的纬度,lonm为所述鼠标所在位置的当前经度,latm为所述鼠标所在位置的当前纬度。
5.根据权利要求1所述的在地图数据中快速定位的方法,其特征在于,根据所述鼠标所在位置的当前经纬度,确定所述鼠标所在位置的缓存对象,包括:
根据所述经纬度确定当前鼠标所在位置的地图块区域;
在所有缓存对象中,确定当前鼠标所在位置的地图块区域所对应的缓存对象的键;
根据所获取的缓存对象的键,确定所述缓存对象的值。
6.根据权利要求1所述的在地图数据中快速定位的方法,其特征在于,将所述鼠标所在位置的缓存对象中每个数据点的经纬度数据转换为在所述浏览器中的坐标,包括:
获得当前浏览器所显示地图的分辨率resolution以及当前浏览器所显示地图的经纬度范围maxExtent,并依据如下公式将所述鼠标所在位置的缓存对象中每个数据点的经纬度数据转换为在所述浏览器中的坐标:
xS=1/resolution×(lonS-maxExtent.left)
yS=1/resolution×(maxExtent.top-latS)
其中,lonS为所述数据点的经度,latS为所述数据点的纬度,xS为所述数据点在所述浏览器中的横坐标,yS为所述数据点在所述浏览器中的纵坐标。
7.根据权利要求1所述的在地图数据中快速定位的方法,其特征在于,所述特定范围为长方形范围,依据如下公式获得所述每个数据点在所述浏览器中的长方形范围:
xmin=x-w/2
ymin=y-h/2
xmax=x+w/2
ymax=y+h/2
其中,x为数据点在所述浏览器中的横坐标,y为数据点在所述浏览器中的纵坐标,w为数据点在所述浏览器中所显示的区域的宽度,h为数据点在所述浏览器中所显示的区域的高度,xmin为数据点在所述浏览器中的长方形的左边界,xmax为数据点在所述浏览器中的长方形的右边界,ymin为数据点在所述浏览器中的长方形的下边界,ymax为数据点在所述浏览器中的长方形的上边界。
8.根据权利要求1所述的在地图数据中快速定位的方法,其特征在于:显示该数据点的高亮图标和名称,包括:
在所述缓存对象中,获取该数据点的经纬度坐标、名称、ID和类型;
根据所述类型,获得该数据点的高亮图标路径;
将该数据点的高亮图标和名称进行显示。
9.根据权利要求1所述的在地图数据中快速定位的方法,其特征在于,所述方法还包括,当所述鼠标所在位置处于某个数据点的特定范围内时,添加该数据点处的点击事件;
其中,添加该数据点处的点击事件包括:
在该数据点处进行鼠标点击时,显示该数据点在所述缓存对象中所存储的至少1条信息。
10.根据权利要求1所述的在地图数据中快速定位的方法,其特征在于,所述方法还包括,当所述鼠标所在位置处于某个数据点的特定范围内时,添加该数据点处的鼠标移出事件;
其中,添加该数据点处的鼠标移出事件包括:
当鼠标移出该数据点的特定范围时,在所述浏览器中删除所显示的高亮图标和名称。
CN201410565818.8A 2014-10-22 2014-10-22 一种在地图数据中快速定位的方法 Active CN105589861B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410565818.8A CN105589861B (zh) 2014-10-22 2014-10-22 一种在地图数据中快速定位的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410565818.8A CN105589861B (zh) 2014-10-22 2014-10-22 一种在地图数据中快速定位的方法

Publications (2)

Publication Number Publication Date
CN105589861A true CN105589861A (zh) 2016-05-18
CN105589861B CN105589861B (zh) 2019-02-05

Family

ID=55929449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410565818.8A Active CN105589861B (zh) 2014-10-22 2014-10-22 一种在地图数据中快速定位的方法

Country Status (1)

Country Link
CN (1) CN105589861B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107803030A (zh) * 2017-11-30 2018-03-16 腾讯科技(成都)有限公司 用于虚拟地图上资源据点的刷新方法及装置
CN108170352A (zh) * 2017-11-29 2018-06-15 石化盈科信息技术有限责任公司 一种地图定位方法和系统
CN108534830A (zh) * 2018-04-13 2018-09-14 山东省农业信息中心 一种基于gis和时空物联的农技服务站定位显示方法和系统
CN108647071A (zh) * 2018-05-02 2018-10-12 山东浪潮通软信息科技有限公司 一种快速获取经纬度坐标的通用组件
CN108763269A (zh) * 2018-04-04 2018-11-06 浩亚信息科技有限公司 一种目视航图poi显示方法、电子设备及存储介质
CN108959471A (zh) * 2018-06-20 2018-12-07 重庆市地理信息中心 一种空间数据的范围控制方法
CN109614172A (zh) * 2017-09-30 2019-04-12 北京国双科技有限公司 数据筛选的方法及相关装置
CN109937414A (zh) * 2016-11-04 2019-06-25 鹰图公司 用于web地图图块服务的特征管理
CN110399438A (zh) * 2018-04-24 2019-11-01 北京视联动力国际信息技术有限公司 一种gis点位信息查询方法及装置
CN110674209A (zh) * 2019-09-22 2020-01-10 武汉光庭信息技术股份有限公司 一种数据显示方法、设备及存储介质
CN111897617A (zh) * 2020-08-12 2020-11-06 腾讯科技(深圳)有限公司 图片加载方法、装置、计算机设备和存储介质
CN114780666A (zh) * 2022-06-23 2022-07-22 四川见山科技有限责任公司 一种数字孪生城市中道路标签优化方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146436A1 (en) * 2008-02-01 2010-06-10 Gabriel Jakobson Displaying content associated with electronic mapping systems
CN101887595A (zh) * 2009-05-14 2010-11-17 武汉如临其境科技创意有限公司 基于四叉树索引的三维数字地球空间数据组织渲染方法
CN102819530A (zh) * 2011-06-10 2012-12-12 中兴通讯股份有限公司 电子地图的显示方法及装置
CN102819671A (zh) * 2012-07-25 2012-12-12 深圳市网信联动技术有限公司 一种结合地图进行数据分析的方法
CN103530330A (zh) * 2013-09-29 2014-01-22 天泽信息产业股份有限公司 一种逆地理编码处理系统的处理方法
CN104063900A (zh) * 2014-05-30 2014-09-24 中国科学院遥感与数字地球研究所 基于webGL的三维地球的实现方案

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146436A1 (en) * 2008-02-01 2010-06-10 Gabriel Jakobson Displaying content associated with electronic mapping systems
CN101887595A (zh) * 2009-05-14 2010-11-17 武汉如临其境科技创意有限公司 基于四叉树索引的三维数字地球空间数据组织渲染方法
CN102819530A (zh) * 2011-06-10 2012-12-12 中兴通讯股份有限公司 电子地图的显示方法及装置
CN102819671A (zh) * 2012-07-25 2012-12-12 深圳市网信联动技术有限公司 一种结合地图进行数据分析的方法
CN103530330A (zh) * 2013-09-29 2014-01-22 天泽信息产业股份有限公司 一种逆地理编码处理系统的处理方法
CN104063900A (zh) * 2014-05-30 2014-09-24 中国科学院遥感与数字地球研究所 基于webGL的三维地球的实现方案

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109937414A (zh) * 2016-11-04 2019-06-25 鹰图公司 用于web地图图块服务的特征管理
CN109937414B (zh) * 2016-11-04 2022-12-13 鹰图公司 通过web地图图块服务来确保特征的更新显示的方法和介质
CN109614172B (zh) * 2017-09-30 2021-11-30 北京国双科技有限公司 数据筛选的方法及相关装置
CN109614172A (zh) * 2017-09-30 2019-04-12 北京国双科技有限公司 数据筛选的方法及相关装置
CN108170352A (zh) * 2017-11-29 2018-06-15 石化盈科信息技术有限责任公司 一种地图定位方法和系统
CN107803030A (zh) * 2017-11-30 2018-03-16 腾讯科技(成都)有限公司 用于虚拟地图上资源据点的刷新方法及装置
CN107803030B (zh) * 2017-11-30 2020-12-25 腾讯科技(成都)有限公司 用于虚拟地图上资源据点的刷新方法及装置
CN108763269A (zh) * 2018-04-04 2018-11-06 浩亚信息科技有限公司 一种目视航图poi显示方法、电子设备及存储介质
CN108534830A (zh) * 2018-04-13 2018-09-14 山东省农业信息中心 一种基于gis和时空物联的农技服务站定位显示方法和系统
CN110399438A (zh) * 2018-04-24 2019-11-01 北京视联动力国际信息技术有限公司 一种gis点位信息查询方法及装置
CN110399438B (zh) * 2018-04-24 2022-04-05 视联动力信息技术股份有限公司 一种gis点位信息查询方法及装置
CN108647071A (zh) * 2018-05-02 2018-10-12 山东浪潮通软信息科技有限公司 一种快速获取经纬度坐标的通用组件
CN108959471A (zh) * 2018-06-20 2018-12-07 重庆市地理信息中心 一种空间数据的范围控制方法
CN110674209A (zh) * 2019-09-22 2020-01-10 武汉光庭信息技术股份有限公司 一种数据显示方法、设备及存储介质
CN111897617A (zh) * 2020-08-12 2020-11-06 腾讯科技(深圳)有限公司 图片加载方法、装置、计算机设备和存储介质
CN111897617B (zh) * 2020-08-12 2021-12-14 腾讯科技(深圳)有限公司 图片加载方法、装置、计算机设备和存储介质
CN114780666A (zh) * 2022-06-23 2022-07-22 四川见山科技有限责任公司 一种数字孪生城市中道路标签优化方法及系统
CN114780666B (zh) * 2022-06-23 2022-09-27 四川见山科技有限责任公司 一种数字孪生城市中道路标签优化方法及系统

Also Published As

Publication number Publication date
CN105589861B (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
CN105589861A (zh) 一种在地图数据中快速定位的方法
US7707140B2 (en) Information retrieval system and method employing spatially selective features
JP5808802B2 (ja) コンテキストの影響を受ける、関心点の検索
Kisilevich et al. Event-based analysis of people's activities and behavior using Flickr and Panoramio geotagged photo collections
CA2406946C (en) Information retrieval system and method employing spatially selective features
US11138243B2 (en) Indexing geographic data
CN106227843A (zh) 一种地质灾害野外调查信息采集系统及方法
CN103927934A (zh) 一种闭合围栏绘制的方法及系统
Doulamis et al. EasyTracker: An Android application for capturing mobility behavior
US20130212107A1 (en) Information processing apparatus and control method thereof
CN107066481A (zh) 基于WebGIS的考古地球物理数据可视化平台的构建方法
US20120159376A1 (en) Editing data records associated with static images
CN113282584A (zh) 一种对地观测影像时空立方体数据检索方法及系统
US11325043B2 (en) Utilizing multiple input sources for generating gameplay locations
CN109902139B (zh) 一种基于r树的轨迹数据压缩方法
Mariescu-Istodor Efficient management and search of GPS routes
Deeksha et al. A spatial clustering approach for efficient landmark discovery using geo-tagged photos
Hong et al. A recommendation framework for remote sensing images by spatial relation analysis
KR101147180B1 (ko) 파노라마 이미지에서 업체 정보를 얻는 방법
Yan et al. Design and implementation of a mobile gis for field data collection
Xie et al. Hot time periods discovery for facility proportioning in urban commercial districts using POIs and mobile phone data
Jung et al. LiDARHub: a free and open source software platform for web-based management, visualization and analysis of LiDAR data
US10896533B2 (en) Automated identification of geographic site boundaries
CN106649813A (zh) 一种基于环境感知与用户反馈的垂直领域知识库构建方法
JP2019144915A (ja) 検索装置、検索方法、およびプログラム

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