[发明专利]一种基于SVG的Google用户地图文本标注方法有效

专利信息
申请号: 201410191069.7 申请日: 2014-04-29
公开(公告)号: CN103970859B 公开(公告)日: 2017-04-19
发明(设计)人: 杨立法 申请(专利权)人: 杨立法
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 暂无信息 代理人: 暂无信息
地址: 710121 陕西省*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 svg google 用户 地图 文本 标注 方法
【说明书】:

技术领域

发明属于计算机技术领域,涉及一种基于SVG的Google用户地图文本标注方法。

背景技术

地图上没有文字是很难理解的,每个地图元素都需要文字注解。传统GIS(Geographic Information System,地理信息系统)软件,如ArcGIS、Maplnfo等本身具有丰富的文本标注自动生成功能,在二次开发建立应用系统时无需考虑标注问题。但近年来随着Google地图的广泛应用,越来越多的用户希望将应用建立在Google地图上。Google Maps API V3是建立Google地图应用系统的基本工具,提供了诸多地图绘制功能,但缺少相应的文本标注功能。

针对标注问题,Google提供了几种解决方案,即利用Marker符号(默认或自定义符号)、弹出式Info window窗口和自定义叠加层。前两种方案根本无法产生类似Google基础地图那样的标注效果。相比之下,自定义叠加层具有较大灵活性,且Google在其实用程序库(Google Maps Utility Library)中提供了MapLabel类以方便用户在地图上绘制文本。

MapLabel是对Overlay View类的扩展。而Overlay View是Google Maps API V3的一个基类,它只为用户提供在创建叠加层时必须实现的若干方法,在用户的自定义叠加层中具体添加什么内容由用户自己决定。MapLabel是将绘有文本的HTML5Canvas元素加入叠加层,并放置在地图指定位置,从而形成对此处地图元素的标注。

但HTML5Canvas元素在文本绘制方面有很大的局限性,只能在水平方向自左向右绘制。所以,MapLabel可基本满足场点标注的需要。如果要文字倾斜、旋转,或沿道路、河流、各种管线等线状或带状地图元素标绘文字,MapLabel就无能为力了。

发明内容

本发明的目的在于克服上述现有技术缺陷,提供一种基于SVG的Google用户地图文本标注方法,解决文本标注问题,为Google用户地图文本标注找到一条新的途径。其具体技术方案为:

一种基于SVG的Google用户地图文本标注方法,包括以下步骤:

首先将含有路径本本的svg元素作为javaScript对象加入自定义叠加层的地图窗格中;然后在绘制此叠加层的过程中执行以下步骤:

(1)调用Overlay View类的getProjection()方法获取当前地图投影;

(2)将经纬度表示的标注路径转换为当前投影下的像素路径;

(3)计算像素路径长度,并与标注文本长度比较,如果太短,则不显示svg对象;

(4)确定标注文本在像素路径的起点位置,以使文本居于路径中部;

(5)按文本长度确定标注文本实际占据的像素路径;

(6)比较确定标注文本像素路径的最小坐标值,并将其作为svg对象的左上角坐标;

(7)将步骤(5)得到的标注文本像素路径转换为相对svg左上角的像素路径;

(8)将步骤(7)得到的坐标串表示的文本像素路径转换为svg中文本路径path元素的路径表示形式,并替换其d属性。

进一步优选,每个待标注地图元素均需建立一个或多个文本标注对象,并利用数组进行管理,以适应地图元素长度的不同和变化。

除了按文本长度控制标注的显示,还可以通过地图缩放级别控制标注的显示。

当标注对象注销时,Google Maps API调用onRemove()方法从地图上移除svg对象。利用对象方法setMap(null)和setMap(map)可从地图上隐去或复显文本标注。

与现有技术相比,本发明的有益效果为:本发明将HTML5SVG与Google Maps API V3的Overlay View类结合,建立一个JavaScript类SVGMapLabel,用于在Google地图生成文本标注。SVGMapLabel可以为Google地图上的点、线、区域对象建立文本标注,可用于交互式标注,也可与KML图层结合,对KML图层中的地图要素进行自动标注,其标注效果类似于Google基础地图,完全可以取代MapLabel。在建立基于Google地图的WebGIS时,SVGMapLabel类可用于用户地图的内文本标注。

附图说明

图1是在独立Web页面上用svg沿路径绘制文本;

图2是道路中线KML文档结构;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杨立法,未经杨立法许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410191069.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top