说明:本人是一个gis小白,由于网上的资料过于专业,当时学习的时候经常看不懂,于是写了一些简单的关于ArcGIS Api for javaScript分享,若该分享中出现错误,希望大家指出,若能帮助到各位,不胜荣幸。

之前分享过添加一个点标注的方法,由于之前的写的比较详细且方法类似,这里就不细说,若有看不懂的可以先看看之前的那个分享   ArcGIS API for JavaScript 3.24 标注的添加和点击标注的回调事件

//文字var addTextSymbol = function(point,symbol,attributes,infoTemplate) {point = new DCI.esri.Point(point.longitude,point.latitude);symbol =  new DCI.esri.TextSymbol({'text': symbol.text || 'Missing text','color': symbol.color || {a:1,r:0,g:0,b:0},  //{a:1,r:255,g:255,b:255}'angle': symbol.angle || 0,'xoffset': symbol.xoffset || 0,'yoffset': symbol.yoffset || 0,'font': new DCI.esri.Font(symbol.fontSize || "14pt",DCI.esri.Font.STYLE_ITALIC,DCI.esri.Font.VARIANT_NORMAL,DCI.esri.Font.WEIGHT_BOLD,symbol.fontFamily || "Courier")});infoTemplate = infoTemplate ? new DCI.esri.InfoTemplate(infoTemplate) : '';var graphic = new DCI.esri.Graphic(point,symbol,attributes,infoTemplate);DCI.map.graphics.add(graphic);return [graphic]};

这是添加文字的方法,基本和添加点标注的方法一样

接下来是添加带背景的文字,先来看一下效果

这样的标注在项目中经常会用到,所以我单独给写了一个方法,其实这个标注也就是将文字标注和点标注的一个结合

//有背景的文字var addBackgroundTextSymbol = function(point,symbol,textSymbol,attributes,infoTemplate){point = new DCI.esri.Point(point.longitude,point.latitude);var _symbol = new DCI.esri.SimpleMarkerSymbol({"color": symbol.color || {a:1,r:255,g:0,b:0} ,"size": symbol.size || 'auto',"angle": symbol.angle || 0,"xoffset": symbol.xoffset || 0,"yoffset": symbol.yoffset || 0,"style": "esriSMSCircle","outline": {"color": symbol.outlineColor || "","width": symbol.outlineWidth || 0,"type": "esriSLS","style": "esriSLSSolid"}});symbol.size ? _symbol.setSize(symbol.size) : '';infoTemplate = infoTemplate ? new DCI.esri.InfoTemplate(infoTemplate) : '';var graphic = new DCI.esri.Graphic(point,_symbol,attributes,infoTemplate);DCI.map.graphics.add(graphic);textSymbol =  new DCI.esri.TextSymbol({'text': textSymbol.text || 'Missing text','color': textSymbol.color || '',  //{a:1,r:255,g:255,b:255}'angle': textSymbol.angle || 0,'xoffset': textSymbol.xoffset || 0,'yoffset': textSymbol.yoffset || 0,'font': new DCI.esri.Font(textSymbol.fontSize || "12",DCI.esri.Font.STYLE_ITALIC,DCI.esri.Font.VARIANT_NORMAL,DCI.esri.Font.WEIGHT_BOLD,textSymbol.fontFamily || "Courier")});var textGraphic = new DCI.esri.Graphic(point,textSymbol,attributes,infoTemplate);DCI.map.graphics.add(textGraphic);return [graphic,textGraphic]};

首先添加背景,然后在相同的位置添加文字,效果就能达到和上图一样的效果

ArcGIS API for JavaScript 3.24 文字标注的添加和带背景的文字添加相关推荐

  1. ArcGIS API For JavaScript Font字体简介,下载及本地部署

    一.TextSymbol 字体font简介 在ArcGIS API For JavaScript开发中,设置标注label 或Graphic时若使用TextSymbol,用font设置文字样式,如字体 ...

  2. 用ArcGIS API for JavaScript制作三维可视化图

    前段时间接了一个项目,涉及到了空间信息三维可视化的工作.之前在网上查找无意中看到ArcGIS API for JavaScript(以下简称"ArcGIS API"或"该 ...

  3. 01 ArcGIS API for JavaScript离线部署——部署到本地服务器

    ArcGIS API for JavaScript开发的首要步骤就是引入ArcGIS想关的样式文件及开发包,对于此样式文件及开发包的引用有两种形式:在线引用和离线加载.对于一般的示例程序编写,我们只需 ...

  4. ArcGIS API for JavaScript如何使用本地的字体库

    需求: ArcGIS API for JavaScript如何使用本地的字体库,解决内网环境,或者我想用我自己的好看的字体的需求. 思路: 下载对应的字体文件(.pbf)或者将操作系统自带的字体文件( ...

  5. ESRI官网关于Javascript的内容(1)__获取ArcGIS API for Javascript

    前言 最近发现自己又可以静下心来学习了,所以赶紧去ESRI的开发官网上看了看,虽然英文我慢慢看也看得懂,但是我估计很多人是不想看或者说看不懂的,所以我觉得还是在我静的下心来的时候为自己和大家翻译一下~ ...

  6. ArcGIS API for JavaScript官网解析

    写在前面 此课程的重点是讲解ArcGIS API for JavaScript官网提供的各个API模块,可以当做是一个字典来使用,版本默认使用最新版(4.24,当前版本),如果此课程和<WebG ...

  7. 视频教程-主流前端框架下ArcGIS API for JavaScript的开发-其他

    主流前端框架下ArcGIS API for JavaScript的开发 毕业于中国矿业大学地理信息科学专业.现就任于全球领先的GIS公司,主要担任地理平台研发工作,日常工作任务是ArcGIS JS A ...

  8. arcgis api for JavaScript _跨域请求

    arcgis api for JavaScript  中出现跨域请求是常见问题, 通常出现类似如下错误消息类似: XMLHttpRequest cannot load http://10.32.2.7 ...

  9. 基于ArcGIS API for JavaScript加载天地图

    文章目录 前言 效果图 详细代码 总结 参考链接 前言 该篇主要介绍如何用ArcGIS JS API加载天地图,具体应用场景以及需求分析等,在上篇基于ArcGIS API for JavaScript ...

最新文章

  1. 词频-逆向文件频率TF-IDF(term frequency–inverse document frequency)是什么?有什么用处?
  2. QQ圈子:从哪里来,到哪里去
  3. 移动通信网络频段大全,含5G、4G,各种公开频段汇总
  4. subversion commit 报错A checksum mismatch occurred
  5. Php基础数学运算篇
  6. 【算法竞赛学习】二手车交易价格预测-Task5模型融合
  7. 开发Android应用 提升性能的小技巧
  8. Linux(9)--添加新用户+赋sudo权限
  9. Qt文档阅读笔记-GridLayout QML Type解析与实例
  10. Java连接Elasticsearch6.xxx CRUD篇二
  11. sed在行首(行尾)添加字符串;在某行后添加多行字符串-转
  12. java中的枚举_Java中的枚举
  13. 好友管理系统 Python
  14. java 获取身份证前两位对应省份
  15. 8个免费和最佳开源视频流服务器软件
  16. 华为交换机系统软件升级和安全漏洞修复教程
  17. 无法启动计算机打印机服务程序,Windows10下使用打印机时提示打印后台处理程序服务没有运行怎么办...
  18. 个人社区(博客)项目Romantic——功能模块划分
  19. matlab 取数组第一行,matlab中如取数组的矩阵的一行出来成为一个向量?
  20. 速写中的颈部肌肉怎么表现?详细画法看这里~

热门文章

  1. 1013: 求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积
  2. 自动驾驶中结构化BEV交通场景的理解(ICCV 2021)
  3. 【射雕英雄传】文本分析初步(姓名,丹药,秘籍,招式)[scrapy, jieba, matplotlib]
  4. 写给理工科人看的乐理(五)调性
  5. 2022年全球市场电动汽车蓄电池总体规模、主要生产商、主要地区、产品和应用细分研究报告
  6. Istio 中实现客户端源 IP 的保持
  7. VIM编辑器初学者用法指南——vim中无法使用冒号更改Ubuntu的输入法解决
  8. 苹果推出新款iPad Air和iPad mini,升级A12处理器 1
  9. Vue Router 路由管理
  10. 饼状图环形图数据信息PR图形模板MOGRT