微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用imagemapster对区域进行着色和变色?

如何解决如何使用imagemapster对区域进行着色和变色?

我正在尝试在已经具有颜色的区域上使用特定颜色为特定区域着色。当我用两种颜色进行此操作时,它正常工作,当我尝试用第三种颜色着色然后变色时,只有第一种颜色是活动的,但是我只希望第三种颜色被褪色。

<area>标签如下:

<area shape="poly" data-state="31,cand,cand-comerc,cand-comerc-parcdiv" id="D001S001Q001L031" href="#" onclick="teste(this.id)" coords="770,262,796,253,842,295,826,310" alt="a" />
data-state中的

我确定了要执行的字符串序列,并保证以正确的方式进行过滤。最初,我为具有cand属性的区域生成颜色。然后是cand-comerc属性的另一种颜色。最后,第三种颜色表示具有cand-comerc-parcdiv的区域。当我删除前两个时,一切正常,当我尝试删除第三个时,只有第一个彩色的,第二个被忽略,我试图解决它,但不能。

我正在生成这样的地图:

var map = $('#map');
    map.mapster({
        mapKey: 'data-state',stroke: true,isSelectable: false
    })
        .mapster('snapshot')
        .mapster('rebind',{
            mapKey: 'data-state',isSelectable: false
        },true);

要构建cand标记,我需要这样做:

     map.mapster('set',true,'cand',{
          stroke: true,strokeColor: '000000',strokeWidth: 1,fillOpacity: 0.7,fillColor: '8171EB'
     });

要破坏此标记,我正在这样做:

destroy = map.mapster('keys','const',true);
map.mapster('set',false,destroy);

要绘制第二个cand-comerc属性,请执行以下操作:

filtro2 = '' + filtro + '-comerc';
    map.mapster('set','' + filtro2 + '',{
        stroke: true,fillColor: '000080'
    });

我正在破坏以前方法中的标记

要制造第三个商标并销毁它,我的做法与以前的相同。但是,当我尝试销毁第三根销钉时,第二根销钉也被销毁,因此我丢失了想要的信息。

在尝试时,我要做的最大努力就是使标记的区域变暗,但这不是我想要的,我只需要取消选中该区域。这是最终结果(错误)的图像,以及如何保持这种效果。 PS:原始颜色应为蓝色(#0000FF):

wrong result generated

var get = map.mapster('keys',filtro3,true);
get = get.replace(',' + filtro + ',' + filtro2 + '','');
map.mapster('set',get);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。