博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MAPZONE GIS SDK接入Openlayers3之四——高级标注效果实现
阅读量:5124 次
发布时间:2019-06-13

本文共 439 字,大约阅读时间需要 1 分钟。

首先看实现效果:

实现要点:

1)树形标注实现

2)复杂标注样式定义

3)效率优化

 

1.树形标注实现

树形标注采用字体符号来实现,包括以下几个步骤

1)载入字体

2)设置标注值与字体对照关系

3)设置TextStyle

2.复杂标注样式定义

1)使用格网来定义每个标注部分所占单元格跨度

2)将每个部分的标注内容带入,测量标注内容所占大小,动态调整格网大小

3)根据标注中心点、旋转角度等信息,计算每部分标注位置,最后达到效果

3.效率优化

刚开始的实现思路是所有标注内容都使用Canvas绘制,但是这样效率太低,尤其是在地图浏览期间,如果发生卡顿,体验特别糟糕。后来我们发现文字部分仍然可以使用TextStyle由Openlayers来绘制,只需要用Canvas绘制分数线即可,绘制之后的分数线构造成Style加到Style组中返给Openlayers,实现代码片断如下:

转载于:https://www.cnblogs.com/conorpai/p/6491374.html

你可能感兴趣的文章
07.用户故事与敏捷方法——优秀用户故事准则笔记
查看>>
Python简介
查看>>
VS2010安装异常中断后无法安装的解决方法(安装时发生严重错误)
查看>>
React Native 开发环境搭建
查看>>
冒泡排序
查看>>
python全栈学习总结三:函数学习
查看>>
【4.0】jdbcTemplate
查看>>
redis 分布式锁实现
查看>>
屏幕尺寸
查看>>
android中实现简单的播放
查看>>
http和https协议
查看>>
HDOJ 4253 Two Famous Companies 二分+MST
查看>>
CSE2DBF 2019
查看>>
BZOJ 1827: [Usaco2010 Mar]gather 奶牛大集会 树形DP + 带权重心
查看>>
java保留两位小数
查看>>
滚动侦测scrollspy
查看>>
Navicat 连接MariaDB 失败: Host '*' is not allowed to connect to this MariaDB server
查看>>
条件、循环、函数定义 练习
查看>>
Sql语句之递归查询
查看>>
模式(一)javascript设计模式
查看>>