需求是图标有hover效果 ,如下

思路 :

1、创建图片标记,并赋值;


   args.rendererArgs = new RenderArgs();
    args.rendererArgs.type = RenderType.CLASSBREAKS;
    args.rendererArgs.attributeField = "value";

var symbolNormal = new PictureMarkSymbolArgs();
symbolNormal.url = getMapImageIcon(remoteMeterName,"0");
symbolNormal.height = 40;
symbolNormal.width = 40;
symbolNormal.xoffset = 0;
symbolNormal.yoffset = 0;
args.rendererArgs.symbols.push(symbolNormal); var symbolNormalFocus = new PictureMarkSymbolArgs();
symbolNormalFocus.url = getMapImageIcon(remoteMeterName,"1");
symbolNormalFocus.height = 40;
symbolNormalFocus.width = 40;
symbolNormalFocus.xoffset = 0;
symbolNormalFocus.yoffset = 0;
args.rendererArgs.symbols.push(symbolNormalFocus); var symbolNormalLight = new PictureMarkSymbolArgs();
symbolNormalLight.url = getMapImageIcon(remoteMeterName, "2"); //正常高亮图标
symbolNormalLight.height = 40;
symbolNormalLight.width = 40;
args.rendererArgs.symbols.push(symbolNormalLight); var symbolAlarmLight = new PictureMarkSymbolArgs();
symbolAlarmLight.url = getMapImageIcon(remoteMeterName, "3"); //报警高亮图标
symbolAlarmLight.height = 40;
symbolAlarmLight.width = 40;
args.rendererArgs.symbols.push(symbolAlarmLight); args.rendererArgs.values.push(0);
args.rendererArgs.values.push(0.9);
args.rendererArgs.values.push(1.9);
args.rendererArgs.values.push(2.9);
args.rendererArgs.values.push(3.9);

2、在创建图层的时候写入mouse-over事件,并修改移入时的velue值;并刷新图层;完成。


layer.on("mouse-over", lang.hitch(this, function (evt) {
  dijitPopup.close(dialog);
  var g = evt.graphic;
if(g.attributes.value=="0"){
g.attributes.value = "2";
layer.refresh();
}else if(g.attributes.value=="1"){
g.attributes.value = "3";
layer.refresh();
}
}))

arcgis for js symbol图标的变化的更多相关文章

  1. Arcgis for JS之Cluster聚类分析的实现

    原文:Arcgis for JS之Cluster聚类分析的实现 在做项目的时候,碰见了这样一个问题:给地图上标注点对象,数据是从数据库来 的,包含XY坐标信息的,通过graphic和graphicla ...

  2. (转)Arcgis for JS之Cluster聚类分析的实现

    http://blog.csdn.net/gisshixisheng/article/details/40711075 在做项目的时候,碰见了这样一个问题:给地图上标注点对象,数据是从数据库来的,包含 ...

  3. Arcgis for JS之Cluster聚类分析的实现(基于区域范围的)

    原文:Arcgis for JS之Cluster聚类分析的实现(基于区域范围的) 咱们书接上文,在上文,实现了基于距离的空间聚类的算法实现,在本文,将继续介绍空间聚类之基于区域范围的实现方式,好了,闲 ...

  4. arcgis for js开发之路径分析

    arcgis for js开发之路径分析 //方法封装 function routeplan(x1, x2, y1, y2, barrierPathArray, isDraw, callback) { ...

  5. Arcgis for js开发之直线、圆、箭头、多边形、集结地等绘制方法

    p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...

  6. arcgis for js学习之Draw类

    arcgis for js学习之Draw类 <!DOCTYPE html> <html> <head> <meta http-equiv="Cont ...

  7. arcgis for js学习之Graphic类

    arcgis for js学习之Graphic类 <title>Graphic类</title> <meta charset="utf-8" /> ...

  8. Arcgis for Js之featurelayer实现空间查询和属性查询

    空间查询和属性查询是常用的两种对数据的检索与查询方式,在本节,将讲述Arcgis for Js下如何实现featurelayer的这两种查询方式,先贴图给大家看看: 实现界面 属性查询 空间查询 看完 ...

  9. Arcgis for Js实现graphiclayer的空间查询

    本节讲的是Arcgis for Js的针对graphiclayer的空间查询,内容很简单,代码如下: <!DOCTYPE html> <html> <head> & ...

随机推荐

  1. LeetCode第二题

    题目描述: You are given two non-empty linked lists representing two non-negative integers. The digits ar ...

  2. 高性能平滑动画_requestAnimationFrame

    高性能平滑动画_requestAnimationFrame 在下一次重绘之前,执行一个函数

  3. __x__(35)0908第五天__ 层级 z-index

    如果三个 div 全部设置 position: absolute; 绝对定位,且未设置 z-index,  则从代码结构上    下面的元素 会盖住 上面的元素. z-index 层级: 通过 z-i ...

  4. (82)Wangdao.com第十六天_JavaScript 异步操作

    异步操作 单线程模型 指的是,JavaScript 只在一个线程上运行 也就是说,JavaScript 同时只能执行一个任务,其他任务都必须在后面排队等待 注意,JavaScript 只在一个线程上运 ...

  5. [LeetCode] Rotated Digits 旋转数字

    X is a good number if after rotating each digit individually by 180 degrees, we get a valid number t ...

  6. Docker简介以及使用docker搭建lnmp的过程(多PHP版本)

    一.Docker基础 Docker安装 Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker. 通过 uname ...

  7. 9、vuex快速上手

    vue脚手架 npm install -g vue-cli usage: vue init example: vue init webpack myvue 安装vuex: npm i -S vuex ...

  8. html表格以pdf格式导出到本地

    引入插件 jsPdf.js 以及 html2canvas.js,具体文件可上github找,实测可行html2canvas(document.getElementById("downBox& ...

  9. linux挂载系统ios文件与gcc安装

    挂载方法: 1.将iso文件拷贝到某一目录下,(/test) 2.建立挂载点文件夹:mkdir  /mnt/iso1 3.进入 mount –o loop  /test/**.iso  /mnt/is ...

  10. linux sudo 运行找不到java、python命令

    在Ubuntu环境中安装好Java环境后设置环境变量:在/etc/profile中设置好了JAVA_HOME变量并引入到PATH中, 由于Ubuntu默认是不以root用户登录的,这时echo $PA ...