openlayers二:添加矢量图形文字
openlayers可方便的在地图上添加圆、多边形、文字等矢量内容,修改这些矢量内容的样式也很简单。
首先需要添加一个向量图层:
     initVectorLayer: function () {
         this.vectorSource = new ol.source.Vector({
             wrapX: false //不在地图上重复
         });
         this.vectorLayer = new ol.layer.Vector({
             source: this.vectorSource,
             style: new ol.style.Style({ //默认样式
                 fill: new ol.style.Fill({
                     color: 'rgba(255, 204, 51, 0.5)'
                 }),
                 stroke: new ol.style.Stroke({
                     color: '#ffcc33',
                     width: 0
                 }),
                 image: new ol.style.Circle({
                     radius: 7,
                     fill: new ol.style.Fill({
                         color: '#ffcc33'
                     })
                 })
             })
         });
         this.map.addLayer(this.vectorLayer);
     },
默认情况下,地图是横向无限重复,而添加在上面的向量默认也是包裹所有横向地图的,如何所示:

如果想让矢量元素不包裹所有横向地图,可以设置 wrapX: false
添加圆:
     addCircle: function (lonlat, radius, colorName) {
         var circle = new ol.geom.Circle(ol.proj.transform(lonlat, 'EPSG:4326', 'EPSG:3857'), radius);
         var circleFeature = new ol.Feature(circle);
         circleFeature.setStyle(
             new ol.style.Style({
                 fill: new ol.style.Fill({
                     color: '#0a3399CC'
                 }),
                 text: new ol.style.Text({
                     text: '圆',
                     scale: 1.3,
                     fill: new ol.style.Fill({
                       color: '#000000'
                     }),
                     stroke: new ol.style.Stroke({
                       color: '#FFFF99',
                       width: 3.5
                     })
                 })
             })
         );
         this.vectorSource.addFeature(circleFeature);
     },
添加多边形:
 addPolygon: function (values) {
         var polygon = new ol.geom.Polygon(values);
         polygon.applyTransform(ol.proj.getTransform('EPSG:4326', 'EPSG:3857'));
         var feature = new ol.Feature(polygon);
         feature.setStyle(
             new ol.style.Style({
                 fill: new ol.style.Fill({
                     color: 'rgba(255, 204, 51, 0.5)'
                 }),
                 text: new ol.style.Text({
                     text: '多边形',
                     scale: 1.3,
                     fill: new ol.style.Fill({
                       color: '#000000'
                     }),
                     stroke: new ol.style.Stroke({
                       color: '#FFFF99',
                       width: 3.5
                     })
                 })
             })
         );
         this.vectorSource.addFeature(feature);
     },
整体效果:

整体代码:
链接: https://pan.baidu.com/s/1nFf59C4LDmYztDrcq7Hnxg 密码: 2eu2
openlayers二:添加矢量图形文字的更多相关文章
- WPF文字描边的解决方法(二)——支持文字竖排和字符间距调整
		
原文:WPF文字描边的解决方法(二)--支持文字竖排和字符间距调整 自前天格式化文本效果出来后,今天又添加文本竖排和调整字符间距的功能.另外,由于上次仓促,没来得及做有些功能的设计时支持,这次也调整好 ...
 - Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器
		
Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器 MVC概念 MVC的含义是 “模型-视图-控制器”.MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程 ...
 - {django模型层(二)多表操作}一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询、分组查询、F查询和Q查询
		
Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 ...
 - golang-imagick图片去除边框(黑边,白边,),添加中文字
		
图片去除边框(黑边,白边) package main import ( "fmt" "github.com/gographics/imagick/imagick" ...
 - AutoCad 二次开发 文字镜像
		
AutoCad 二次开发 文字镜像 参考:https://adndevblog.typepad.com/autocad/2013/10/mirroring-a-dbtext-entity.html 在 ...
 - iview 如何在表格中给操作图标添加Tooltip文字提示?
		
项目需要用到的iview 表格中操作项目有各种各样的图标,而各种各样的图标代表不同的操作,面对新用户可能很懵,那如何给这些图标添加Tooltip文字提示? 废话不多讲,直接看代码: <templ ...
 - SQL数据库字段添加说明文字
		
1.查看指定表中的所有带说明文字的字段内容 SELECT *,OBJECT_NAME(major_id) AS obj_name FROM sys.extended_properties WHERE ...
 - C# 通过Bartender模板打印条码,二维码, 文字, 及操作RFID标签等。
		
1.在之前写的一篇文章中, 有讲到如何利用ZPL命令去操作打印里, 后面发现通过模板的方式会更加方便快捷, 既不用去掌握ZPL的实现细节, 就可以轻松的调用实现打印的功能. 解决方案: 1.网络下载 ...
 - C# Bartender模板打印 条码,二维码, 文字, 及操作RFID标签等。
		
1.在之前写的一篇文章中, 有讲到如何利用ZPL命令去操作打印里, 后面发现通过模板的方式会更加方便快捷, 既不用去掌握ZPL的实现细节, 就可以轻松的调用实现打印的功能. 解决方案: 1.网络下载 ...
 
随机推荐
- Python爬虫入门教程 56-100 python爬虫高级技术之验证码篇2-开放平台OCR技术
			
今日的验证码之旅 今天你要学习的验证码采用通过第三方AI平台开放的OCR接口实现,OCR文字识别技术目前已经比较成熟了,而且第三方比较多,今天采用的是百度的. 注册百度AI平台 官方网址:http:/ ...
 - WebWorker 中将已处理好的 VDOM 数据提交主线程渲染 DOM
			
上篇文章讲了 WebWorker 的简单用法,其实网上很多类似的文章,我写的也比较垃圾.不会的建议可以网上看比较好点的资料. 这里我会先讲下我的大致思路.然后会贴上一堆不实用的垃圾代码供参考. Web ...
 - 【Python3爬虫】常见反爬虫措施及解决办法(二)
			
这一篇博客,还是接着说那些常见的反爬虫措施以及我们的解决办法.同样的,如果对你有帮助的话,麻烦点一下推荐啦. 一.防盗链 这次我遇到的防盗链,除了前面说的Referer防盗链,还有Cookie防盗链和 ...
 - PostgreSQL:安装及中文显示
			
一.PostgreSQL PostgreSQL (也称为Post-gress-Q-L)是一个跨平台的功能强大的开源对象关系数据库管理系统,由 PostgreSQL 全球开发集团(全球志愿者团队)开发. ...
 - 简易版本vue的实现
			
用了Vue也有两年时间了,一直以来都是只知其然,不知其所以然,为了能更好的使用Vue不被Vue所奴役,学习一下Vue底层的基本原理. Vue官网有一段这样的介绍:当你把一个普通的JavaScript对 ...
 - 入门系列之Scikit-learn在Python中构建机器学习分类器
			
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由信姜缘 发表于云+社区专栏 介绍 机器学习是计算机科学.人工智能和统计学的研究领域.机器学习的重点是训练算法以学习模式并根据数据进行预 ...
 - java基础(七)-----深入剖析Java中的装箱和拆箱
			
本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型 ...
 - MySQL查看数据库安装路径
			
有时候在我们开发的过程中并不一定记得数据库的安装路径.比如要查看mysql 数据库的安装目录在哪里:我们可以通过mysql命令查看mysql的安装路径: # 以下两个sql任意一个可查询 select ...
 - Activity简介
			
声明周期 4种状态 running / paused / stopped / killed 声明周期 activity启动 --->onCreate() -->onStart()---& ...
 - python 线程(一)理论部分
			
Python线程 进程有很多优点,它提供了多道编程,可以提高计算机CPU的利用率.既然进程这么优秀,为什么还要线程呢?其实,仔细观察就会发现进程还是有很多缺陷的. 主要体现在一下几个方面: 进程只能在 ...