书签 分享 收藏 举报 版权申诉 / 18

一种地图路径标注方法和装置.pdf

  • 上传人:a***
  • 文档编号:6370223
  • 上传时间:2019-06-04
  • 格式:PDF
  • 页数:18
  • 大小:1.18MB
  • 摘要
    申请专利号:

    CN201510249788.4

    申请日:

    2015.05.15

    公开号:

    CN104881448A

    公开日:

    2015.09.02

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20150515|||公开

    IPC分类号:

    G06F17/30

    主分类号:

    G06F17/30

    申请人:

    福建星网锐捷网络有限公司

    发明人:

    陈启昌

    地址:

    350002福建省福州市仓山区金山大道618号桔园州工业园19#楼

    优先权:

    专利代理机构:

    北京同达信恒知识产权代理有限公司11291

    代理人:

    黄志华

    PDF完整版下载: PDF下载
    内容摘要

    本发明实施例提供了一种地图路径标注方法和装置。捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;标记当前节点为有效起点;捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;本发明设计了一种在地图中标注路径的方法,简化室内地图路径管理和录入的机制并提高了室内地图路径录入的效率,减少了室内地图路径的制作时间,允许室内地图制作人员高效的为基于室内定位导航的应用软件提供了导航道路和路径。

    权利要求书

    权利要求书
    1.  一种地图路径标注方法,其特征在于,包括:
    捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
    标记当前节点为有效起点;
    捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
    若当前节点为有效起点,则创建起始节点和结束节点之间的线节点。

    2.  根据权利要求1所述的一种地图路径标注方法,其特征在于,采用离散路径的全局变量标记当前节点为有效起点。

    3.  根据权利要求2所述的一种地图路径标注方法,其特征在于,当绘制多点折线路径时,包括:
    触发折线命令,启动折线绘制模式;
    捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    若当前节点为有效起点,则创建结束节点和下一个结束节点之间的线节点。

    4.  根据权利要求3所述的一种地图路径标注方法,其特征在于,包括:创建起始节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。

    5.  根据权利要求4所述的一种地图路径标注方法,其特征在于,当绘制离散路径时,包括:创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。

    6.  根据权利要求5所述的一种地图路径标注方法,其特征在于,当绘制多点折线路径时,包括:
    触发回退并捕捉上一个结束节点;
    再次标记当前节点为有效起点;
    捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    若再次标记的当前节点为有效起点,则创建上一个结束节点和下一个结束节点之间的线节点。

    7.  根据权利要求6所述的一种地图路径标注方法,其特征在于,另采用折线路径的全局变量再次标记当前节点为有效起点。

    8.  根据权利要求7所述的一种地图路径标注方法,其特征在于,包括:创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。

    9.  根据权利要求4或8所述的一种地图路径标注方法,其特征在于,当连接已标记的两节点时,包括:
    触发连接命令,启动连接模式;
    捕捉用户选择的两个节点;
    创建两个节点之间连接的线节点。

    10.  一种地图路径标注装置,其特征在于,包括:
    起始捕捉模块:其用于捕捉用户的起始标记点;并根据所述起始标记点的 像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
    第一标记模块:其用于标记当前节点为有效起点;
    结束捕捉模块:其用于捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
    线节点模块:若当前节点为有效起点,其用于则创建起始节点和结束节点之间的线节点。

    11.  根据权利要求10所述的一种地图路径标注装置,其特征在于,包括:第一标记组件:其用于采用离散路径的全局变量标记当前节点为有效起点。

    12.  根据权利要求11所述的一种地图路径标注装置,其特征在于,包括:第一折线绘制模块,包括:
    触发模块:其用于触发折线命令,启动折线绘制模式;
    下一个结束捕捉模块:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    下一个线节点模块:若当前节点为有效起点,其用于创建结束节点和下一个结束节点之间的线节点。

    13.  根据权利要求12所述的一种地图路径标注装置,其特征在于,所述第一折线绘制模块,包括:第二标记组件:创建起始节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。

    14.  根据权利要求11所述的一种地图路径标注装置,其特征在于,包括:第二折线绘制模块,包括:第一标记单元,其用于在绘制离散路径时,创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点 为无效起点。

    15.  根据权利要求12所述的一种地图路径标注装置,其特征在于,包括:第二折线绘制模块,包括:
    触发捕捉单元:其用于触发回退并捕捉上一个结束节点;
    第二标记单元:其用于再次标记当前节点为有效起点;
    下一个结束捕捉单元:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    下一个线节点单元:若再次标记的当前节点为有效起点,其用于创建上一个结束节点和下一个结束节点之间的线节点。

    16.  根据权利要求15所述的一种地图路径标注装置,其特征在于,所述第二折线绘制模块,包括:第三标记单元:其用于采用折线路径的全局变量再次标记当前节点为有效起点。

    17.  根据权利要求16所述的一种地图路径标注装置,其特征在于,所述第二折线绘制模块,包括:第四标记单元:其用于创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。

    18.  根据权利要求14或17所述的一种地图路径标注装置,其特征在于,还包括:连接模块,包括:
    触发连接模块:其用于触发连接命令,启动连接模式;
    两点捕捉模块:其用于捕捉用户选择的两个节点;
    两点线节点模块:其用于创建两个节点之间连接的线节点。

    说明书

    说明书一种地图路径标注方法和装置
    技术领域
    本发明涉及导航技术和WEB软件领域,尤其涉及一种地图路径标注方法和装置。
    背景技术
    在室内地图导航系统中,各个建筑物内楼层的室内地图通常都是用SVG(Scalable Vector Graphics-可缩放矢量图形)来存储和显示的。室内地图中的各条路径通常也是由开发人员手工在矢量图上拾取并保存到系统中的。目前,尚未有高效、简易可行的方法允许地图制作人员在矢量图上通过鼠标手工的交互点击来拾取路径。
    如附图1所示,室内地图制作人员需要手工在室内地图上标记出可行走的路径(空白连续区域)并把这些路径录入到室内定位导航系统。基于这些路径和最短路径算法,室内定位导航系统可以为用户提供室内区域任意一点到另一点的最短行走路径。
    但是,目前并没有特别有效的路径生成和制作方法。传统的方法则是由地图制作人员手动的测量每段空白区域的起始和终点的x、y坐标,该坐标的坐标系通常以位于地图左上端角的端点为坐标原点,并记录下这些信息,最后通过综合组合而形成一段段的路径。这种方法精确度低、耗时漫长且要求地图制作人员对室内地图的路径组合有很好的理解和把握,并不适合大量路径的快速录入。
    发明内容
    本发明的实施例提供了一种地图路径标注方法,包括:
    捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
    标记当前节点为有效起点;
    捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
    若当前节点为有效起点,则创建起始节点和结束节点之间的线节点。
    根据上述一种地图路径标注方法,采用离散路径的全局变量标记当前节点为有效起点。
    根据上述一种地图路径标注方法,当绘制多点折线路径时,包括:
    触发折线命令,启动折线绘制模式;
    捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    若当前节点为有效起点,则创建结束节点和下一个结束节点之间的线节点。
    根据上述一种地图路径标注方法,包括:创建起始节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
    根据上述一种地图路径标注方法,当绘制离散路径时,包括:创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
    根据上述一种地图路径标注方法,当绘制多点折线路径时,包括:
    触发回退并捕捉上一个结束节点;
    再次标记当前节点为有效起点;
    捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    若再次标记的当前节点为有效起点,则创建上一个结束节点和下一个结束节点之间的线节点。
    根据上述一种地图路径标注方法,另采用折线路径的全局变量再次标记当前节点为有效起点。
    根据上述一种地图路径标注方法,包括:创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。
    根据上述一种地图路径标注方法,当连接已标记的两节点时,包括:
    触发连接命令,启动连接模式;
    捕捉用户选择的两个节点;
    创建两个节点之间连接的线节点。
    根据本发明的另一方面,还提供一种地图路径标注装置,包括:
    起始捕捉模块:其用于捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
    第一标记模块:其用于标记当前节点为有效起点;
    结束捕捉模块:其用于捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
    线节点模块:若当前节点为有效起点,其用于则创建起始节点和结束节点之间的线节点。
    根据本发明另一方面的一种地图路径标注装置,包括:第一标记组件:其 用于采用离散路径的全局变量标记当前节点为有效起点。
    根据本发明另一方面的一种地图路径标注装置,包括:第一折线绘制模块,包括:
    触发模块:其用于触发折线命令,启动折线绘制模式;
    下一个结束捕捉模块:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    下一个线节点模块:若当前节点为有效起点,其用于创建结束节点和下一个结束节点之间的线节点。
    根据本发明另一方面的一种地图路径标注方法,所述第一折线绘制模块,包括:第二标记组件:创建起始节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
    根据本发明另一方面的一种地图路径标注装置,包括:第二折线绘制模块,包括:第一标记单元,其用于在绘制离散路径时,创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
    根据本发明另一方面的一种地图路径标注装置,包括:第二折线绘制模块,包括:
    触发捕捉单元:其用于触发回退并捕捉上一个结束节点;
    第二标记单元:其用于再次标记当前节点为有效起点;
    下一个结束捕捉单元:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    下一个线节点单元:若再次标记的当前节点为有效起点,其用于创建上一个结束节点和下一个结束节点之间的线节点。
    根据本发明另一方面的一种地图路径标注装置,所述第二折线绘制模块,包括:第三标记单元:其用于采用折线路径的全局变量再次标记当前节点为有效起点。
    根据本发明另一方面的一种地图路径标注装置,所述第二折线绘制模块,包括:第四标记单元:其用于创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。
    根据本发明另一方面的一种地图路径标注装置,还包括:连接模块,包括:
    触发连接模块:其用于触发连接命令,启动连接模式;
    两点捕捉模块:其用于捕捉用户选择的两个节点;
    两点线节点模块:其用于创建两个节点之间连接的线节点。
    由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;标记当前节点为有效起点;捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;若当前节点为有效起点,则创建起始节点和结束节点之间的线节点;的方法,允许制作多条多点折线连续路径、多点环路闭合路径和多条离散路径,简化室内地图路径管理和录入的机制并极大的提高了室内地图路径录入的效率,减少了室内地图路径的制作时间,允许室内地图制作人员高效的为基于室内定位导航的应用软件提供了导航道路和路径。
    附图说明
    为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
    图1为实际的室内布局图转化成的SVG格式的地图;
    图2为本发明实施例一提供的一种地图路径标注方法的处理流程图;
    图3为本发明实施例一提供的一种地图路径标注装置的模块图。
    具体实施方式
    为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
    实施例一
    SVG(Scalable Vector Graphics-可缩放矢量图形)技术允许动态的修改图形元素并在主流的浏览器客户端实时显示,为室内地图的在线编辑和路径选取提供了可能。本发明利用主流浏览器对SVG格式图形的支持和浏览器客户端脚本JavaScript对SVG(Scalable Vector Graphics-可缩放矢量图形)的DOM(Document Object Model-文档对象模型)实时修改的机制,设计了一套交互式标注和提取地图路径的方法,根据实际的室内布局图转化成的SVG格式的地图如附图1所示。
    本实施例提供了一种地图路径标注方法的处理流程如图2所示,包括如下的处理步骤:
    步骤11、捕捉用户的起始标记点,并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
    捕捉用户的起始标记点,具体地需要先捕捉该起始标记点的像素坐标,用户可以用鼠标点击进行标记,也可以在硬件支持的情况下,采用触摸选择、手势选择多种方式进行标记。本实施例中用户在SVG格式地图上用鼠标左键点 击进行标记,根据用户的鼠标点击,捕捉到用户的起始标记点的像素坐标(x,y),假设捕捉的起始标记点的像素坐标为(443,373),对应创建起始节点包括创建起始节点的图形子节点和起始节点的文本子节点;
    本领域技术人员应能理解上述用鼠标左键点击进行标记或者采用触摸选择、手势选择多种方式进行标记的应用类型仅为举例,其他现有的或今后可能出现的进行标记的方法如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
    对于起始节点,单独的一个小圆点在地图上用肉眼识别比较困难,为了显示直观,需要为标记的起始节点创建一个直观的图形子节点。可以以起始标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,或者在系统预先存储用于图形子节点标记的图形,例如五角星,三角形,小红旗等等,在起始标记点的像素坐标(x,y)上添加预先存储的图形;
    本实施例中,在SVG地图的DOM内创建一个起始圆节点作为起始节点的图形子节点,并作为SVG地图的DOM节点的一个子节点(child node)。以起始标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,此时将圆的圆心坐标设置为起始标记点的像素坐标,设置圆半径为10个像素点的单位长度,起始节点的cx和cy属性(attribute)为捕捉到的用户的起始标记点的像素坐标(x,y),例如:<circle cx="443"cy="373"r="10"/>;图形子节点只是体现一个图形的显示,并不体现该节点的坐标的文本内容,因此还需要再创建该节点的文本子节点用于标注和显示各个节点的编号。
    对于创建起始节点的文本子节点,在SVG地图的DOM内创建一个文本节点,并作为SVG地图的DOM节点的一个子节点(child node)。
    起始节点的文本子节点的x、y属性为上述创建的起始圆节点的中心坐标。优选地,在起始节点的文本子节点中记录当前标记点的编号,例如:<text x="443"y="373">0</text>,其中,默认编号从0开始,依次递增。
    步骤12、标记当前节点为有效起点;本实施例在离散路径制作过程中采使用类型为布尔的全局变量即全局布尔变量作为离散路径的全局变量标记当前节点为有效起点,以startNodeChosen作为本实施例的全局布尔变量,标记当前节点为有效起点,例如:<startNodeChosen=true>。当前节点为有效起点,表明一段路径的起点已经选定,在用户捕捉到用户结束标记点后需要创建起点和终点之间的线节点。如果当前节点并非为有效起点,则在用户再次捕捉到一个标记点时无需创建任何线节点。
    步骤13、捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
    再根据用户的鼠标点击,捕捉到用户的结束标记点的像素坐标(x,y),假设捕捉的结束标记点的像素坐标为(446,373),对应创建结束节点包括创建结束节点的图形子节点和结束节点的文本子节点;
    出于与上述起始节点的图形子节点一样的直观显示需要,需要为结束节点创建对应的图形子节点,可以以结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,或者在系统预先存储用于图形子节点标记的图形,例如五角星,三角形,小红旗等等,在结束标记点的像素坐标(x,y)上添加预先存储的图形;
    本实施例中,在SVG地图的DOM内创建一个结束圆节点作为结束节点的图形子节点,并作为SVG地图的DOM节点的一个子节点(child node)。以结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,此时将圆的圆心坐标设置为结束标记点的像素坐标,仍然设置圆半径为10个像素点的单位长度,结束节点的cx和cy属性(attribute)为捕捉到的用户的结束标记点的像素坐标(x,y),例如:<circle cx="446"cy="373"r="10"/>;
    对于创建结束节点的文本子节点,在SVG地图的DOM内创建一个文本节点,并作为SVG地图的DOM节点的一个子节点(child node)。
    结束节点的文本子节点的x、y属性为上述创建的结束圆节点的中心坐标,优选地,在结束节点的文本子节点中记录当前标记点的编号,其中,默认编号从0开始,依次递增,上述记录起始节点的文本子节点编号为0,结束节点的文本子节点编号应递增为1,例如:<text x="446"y="373">1</text>。
    步骤14、若当前节点为有效起点,则创建起始节点和结束节点之间的线节点;步骤12中,已采用全局布尔变量作为离散路径的全局变量标记当前节点为有效起点,以startNodeChosen作为本实施例的全局布尔变量,标记当前节点为有效起点,上述设置startNodeChosen为true,此时判断的当前节点仍为有效起点,则创建起始节点和结束节点之间的线节点,并作为SVG地图的DOM节点的一个子节点。该线节点的两个端点(x1、y1)和(x2、y2)分别为步骤11和步骤13所创建的起始圆节点的cx、cy属性值和结束圆节点的cx、cy属性值。例如:<line x1="443"y1="373"x2="446"y2="373"/>。
    基于上述步骤11至步骤14的方法,在绘制离散路径时,优选地,采用离散路径的全局变量标记的当前节点仍然为有效起点;创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点;仍然采用全局布尔变量作为离散路径的全局变量标记当前节点为无效起点,以startNodeChosen作为本实施例的全局布尔变量,具体地:<startNodeChosen=false>。
    当绘制折线路径时,本实施例提供两种方法:
    方法一
    先按照上述步骤11至步骤14的方法创建线节点,仍然继续采用离散路径的全局变量标记当前节点,继续采用全局布尔变量作为离散路径的全局变量标记当前节点。
    触发折线命令,启动折线绘制模式;可以在网页上设置触发控件,或者设置其他快捷键触发折线命令,启动折线绘制模式,本领域技术人员应能理解上述设置触发控件,或者设置其他快捷键应用类型仅为举例,其他现有的或今后可能出现的触发折线命令的方法如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
    捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    根据用户的鼠标点击,捕捉到用户的下一个结束标记点的像素坐标(x,y),假设捕捉的下一个结束标记点的像素坐标为(446,383),对应创建下一个结束节点包括创建下一个结束节点的图形子节点和下一个结束节点的文本子节点;
    对于下一个结束节点的图形子节点和上述起始节点的图形子节点一样,需要创建下一个结束节点的图形子节点,以下一个结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,或者在系统预先存储用于图形子节点标记的图形,例如五角星,三角形,小红旗等等,在下一个结束标记点的像素坐标(x,y)上添加预先存储的图形;
    本实施例中,在SVG地图的DOM内创建一个下一个结束圆节点作为下一个结束节点的图形子节点,并作为SVG地图的DOM节点的一个子节点(child node)。具体地,以下一个结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,此时将圆的圆心坐标设置为下一个结束标记点的像素坐标,仍然设置圆半径为10个像素点的单位长度,下一个结束节点的cx和cy属性(attribute)为捕捉到的用户的下一个结束标记点的像素坐标(x,y),例如:<circle cx="446"cy="383"r="10"/>;
    对于创建下一个结束节点的文本子节点,在SVG地图的DOM内创建一 个文本节点,并作为SVG地图的DOM节点的一个子节点(child node)。
    下一个结束节点的文本子节点的x、y属性为上述创建的下一个结束圆节点的中心坐标,优选地,在下一个结束节点的文本子节点中记录当前标记点的编号,其中,默认编号从0开始,依次递增,上述记录起始节点的文本子节点编号为0,结束节点的文本子节点编号递增为1,下一个结束节点的文本子节点编号递增为2,以此类推,例如:<text x="446"y="383">2</text>;
    若当前节点有效,则创建结束节点和下一个结束节点之间的线节点。
    按照上述步骤11至步骤14的方法创建线节点,仍然继续采用全局布尔变量作为离散路径的全局变量标记当前节点。步骤12中,已采用全局布尔变量标记当前节点为有效起点,以startNodeChosen作为本实施例的全局布尔变量,标记当前节点为有效起点,上述设置startNodeChosen为true,此时判断的当前节点仍为有效起点,则创建结束节点和下一个结束节点之间的线节点,并作为SVG地图的DOM节点的一个子节点。该线节点的两个端点(x2、y2)和(x3、y3)分别为上述所创建的结束圆节点的cx、cy属性值和下一个结束圆节点的cx、cy属性值。例如:<line x2="446"y2="373"x3="446"y3="383"/>,以此类推,可以创建下一个结束节点至下下一个结束节点,直至最后一个结束节点之间的线节点,此处不再赘述。
    创建起始节点至最后一个结束节点之间的线节点之后,具体地,指创建完起始节点、结束节点以及下一个结束节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。继续采用全局布尔变量作为离散路径的全局变量标记当前节点为无效起点,以startNodeChosen作为本实施例的全局布尔变量,标记当前节点为无效起点,例如:<startNodeChosen=false>。
    方法二
    先按照上述步骤11至步骤14的方法创建线节点,此时采用离散路径的全局变量标记的当前节点仍然为有效起点;
    创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点;仍然采用全局布尔变量作为离散路径的全局变量标记当前节点为无效起点,以startNodeChosen作为本实施例的全局布尔变量,具体地:<startNodeChosen=false>;
    触发回退并捕捉上一个结束节点;其中上一个结束点可以是两点之间离散路径的结束点,也可以是多点之间折线路径的结束点;
    本实施例中接着以上述步骤13中创建的结束节点为例,上一个结束节点为步骤13中创建的结束节点,可以在网页上设置触发控件,或者设置其他快捷键触发回退并捕捉上述步骤13中创建的结束节点,本领域技术人员应能理解上述设置触发控件,或者设置其他快捷键应用类型仅为举例,其他现有的或今后可能出现的触发回退并捕捉上一个结束节点的方法如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
    触发回退并捕捉上一个结束节点的图形子节点为:<circle cx="446"cy="373"r="10"/>;上一个结束节点的文本子节点为:<text x="446"y="373">1</text>。
    再次标记当前节点为有效起点;另采用折线路径的全局变量,与离散路径制作机制不同,折线路径的全局变量只使用变量类型为DOM节点的currentNode全局变量来记录和标记当前节点,并不使用离散路径中用到的变量类型为布尔的全局变量startNodeChosen,再次标记当前节点为有效起点,此时触发回退并捕捉上一个结束节点为当前节点,优选地,采用currentNode作为折线路径的全局变量,再次标记当前节点为有效起点,设置currentNode=node_<节点编号>;比如,当前节点为上一个结束节点,节点编号为node_1,设置currentNode=node_1;
    捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本 子节点;
    根据用户的鼠标点击,捕捉到用户的下一个结束标记点的像素坐标(x,y),假设捕捉的下一个结束标记点的像素坐标为(446,383),对应创建下一个结束节点包括创建下一个结束节点的图形子节点和下一个结束节点的文本子节点;
    对于下一个结束节点的图形子节点和上述起始节点的图形子节点一样,需要创建下一个结束节点的图形子节点,以下一个结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,或者在系统预先存储用于图形子节点标记的图形,例如五角星,三角形,小红旗等等,在下一个结束标记点的像素坐标(x,y)上添加预先存储的图形;
    本实施例中,在SVG地图的DOM内创建一个下一个结束圆节点作为下一个结束节点的图形子节点,并作为SVG地图的DOM节点的一个子节点(childnode)。具体地,以下一个结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,此时将圆的圆心坐标设置为下一个结束标记点的像素坐标,仍然设置圆半径为10个像素点的单位长度,下一个结束节点的cx和cy属性(attribute)为捕捉到的用户的下一个结束标记点的像素坐标(x,y),例如:<circle cx="446"cy="383"r="10"/>;
    对于创建下一个结束节点的文本子节点,在SVG地图的DOM内创建一个文本节点,并作为SVG地图的DOM节点的一个子节点(child node)。
    下一个结束节点的文本子节点的x、y属性为上述创建的下一个结束圆节点的中心坐标,优选地,在下一个结束节点的文本子节点中记录当前标记点的编号,其中,默认编号从0开始,依次递增,上述记录起始节点的文本子节点编号为0,结束节点的文本子节点编号递增为1,下一个结束节点的文本子节点编号递增为2,以此类推,例如:<text x="446"y="383">2</text>;
    若再次标记的当前节点为有效起点,则创建上一个结束节点和下一个结束节点之间的线节点。
    按照上述步骤11至步骤14的方法创建线节点,上述创建起始节点和结束节点之间的线节点之后,已采用全局布尔变量startNodeChosen作为离散路径的全局变量标记当前节点为无效起点;再采用类型为DOM节点的变量currentNode作为折线路径的全局变量,再次用currentNode为标记当前节点为有效起点。
    上述currentNode不为null,此时判断的当前节点仍为有效起点,则创建上一个结束节点和下一个结束节点之间的线节点,并作为SVG地图的DOM节点的一个子节点。本实施例中接着以上述步骤13中创建的结束节点为例,上一个结束节点为步骤13中创建的结束节点,该线节点的两个端点(x2、y2)和(x3、y3)分别为上述所创建的结束圆节点的cx、cy属性值和下一个结束圆节点的cx、cy属性值。例如:<line x2="446"y2="373"x3="446"y3="383"/>,以此类推,可以创建下一个结束节点至下下一个结束节点,直至最后一个结束节点之间的线节点,此处不再赘述。
    创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。具体地,指创建完起始节点、结束节点以及下一个结束节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。继续采用类型为DOM节点的变量currentNode作为折线路径的全局变量,标记当前节点为无效起点,例如:<currentNode=null>。
    基于上述离散路径绘制方法和折线路径绘制方法,都涉及到节点的标记,对于已标记的节点,需要完成两节点之间的连接时,本实施例提供如下方法:
    触发连接命令,启动连接模式;
    捕捉用户选择的两个节点;
    创建两个节点之间连接的线节点。
    触发连接命令,启动连接模式;可以在网页上设置触发控件,或者设置其他快捷键来触发连接命令,启动连接模式,本领域技术人员应能理解上述设置 触发控件,或者设置其他快捷键应用类型仅为举例,其他现有的或今后可能出现的触发连接命令的方法如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
    捕捉用户选择的两个节点;用户在已有的节点中选择两个节点可以通过鼠标点击选择,也可以在网页上设置输入对话框供用户填写所选择的节点的文本子节点中记录的当前标记点的编号,本领域技术人员应能理解上述通过鼠标点击选择,或者设置输入对话框供用户填写应用类型仅为举例,其他现有的或今后可能出现的捕捉用户选择的两个节点的方法如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
    本实施例中,在网页上设置输入对话框供用户填写所选择的节点文本子节点中记录的当前标记点的编号,假设用户在输入对话框内填写的编号为0和2,则对应的是上述起始节点,和下一个结束节点,则创建起始节点和下一个结束节点之间的线节点,该线节点的两个端点(x1、y1)和(x3、y3)分别为上述所创建的起始圆节点的cx、cy属性值和下一个结束圆节点的cx、cy属性值。例如:<line x1="443"y1="373"x3="446"y3="383"/>。
    实施例二
    该实施例提供了一种地图路径标注装置,其具体实现结构如图3所示,具体可以包括如下的模块:
    起始捕捉模块21:其用于捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
    第一标记模块22:其用于标记当前节点为有效起点;
    结束捕捉模块23:其用于捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
    线节点模块24:若当前节点为有效起点,其用于则创建起始节点和结束节点之间的线节点。
    一种地图路径标注装置,包括:文本记录组件201,其用于在所述文本子节点中记录当前标记点的编号。
    一种地图路径标注装置,包括:第一标记组件25,其用于采用离散路径的全局变量标记当前节点为有效起点。
    本实施例二提供对应上述实施例一中方法一的第一折线绘制模块26,包括:
    触发模块261:其用于触发折线命令,启动折线绘制模式;
    下一个结束捕捉模块262:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    下一个线节点模块263:若当前节点为有效起点,其用于创建结束节点和下一个结束节点之间的线节点。
    第一折线绘制模块26,包括:第二标记组件264:其用于创建起始节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
    本实施例二提供对应上述实施例一中方法二的第二折线绘制模块27,包括:
    第二折线绘制模块27,包括:第一标记单元271,其用于在绘制离散路径时,创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
    触发捕捉单元272:其用于触发回退并捕捉上一个结束节点;
    第二标记单元273:其用于再次标记当前节点为有效起点;
    下一个结束捕捉单元274:其用于捕捉用户的下一个结束标记点;并根据 所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
    下一个线节点单元275:若再次标记的当前节点为有效起点,其用于创建上一个结束节点和下一个结束节点之间的线节点。
    第二折线绘制模块27,包括:第三标记单元276:其采用折线路径的全局变量标记当前节点为有效起点。
    第二折线绘制模块27,包括:第四标记单元277:其用于创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。
    一种地图路径标注装置,还包括:连接模块28,包括:
    触发连接模块281:其用于触发连接命令,启动连接模式;
    两点捕捉模块282:其用于捕捉用户选择的两个节点;
    两点线节点模块283:其用于创建两个节点之间连接的线节点。
    用本发明实施例的装置进行地图路径标注的具体过程与前述方法实施例类似,此处不再赘述。
    本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
    通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
    本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之 处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
    以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

    关 键  词:
    一种 地图 路径 标注 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种地图路径标注方法和装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6370223.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1