1

我正在使用 kartograph.js,我有几个连接区域/路径的 svg,我想通过着色来突出单击区域,然后在另一个 div 上显示有关它的其他信息。单击新形状时,我无法删除形状的突出显示。我怎样才能做到这一点?谢谢!

    var previd=0;
var prevpath;


function mapLoaded(map) {
  map.addLayer('mylayer', {

  tooltips: function(d) {
    return [d.watershedname,"area: "+d.area];
  },


  styles: {
        stroke: '#aaa',
        fill: '#f6f4f2'
  },

click: function(d, path) {
        // @path is a Raphael.element, do with it whatever you like
        // @d holds the data attached to each path

    //retrieve and set text to other div
    $("#infoname").text(d.watershedname);
    $("#infoarea").text(numberWithCommas(Math.floor(d.area))+" hectares");
    //highlight the selected path
    path.attr('fill', 'red');



    //i'm trying to get the previous path by id here
    //so i can remove the previous highlight
    //doesn't work

    prevpath =mylayer.getById(previd);
    prevpath.attr('fill','blue');

    //set the new id for later access
    previd=path.attr('id');

    }

});//end of add layer


 }//end of mapLoaded
4

1 回答 1

0

II 得到了 ID,我使用了 Layer.getPaths({column:value});



    var templayer = map.getLayer('mylayer').getPaths({watershedname:selected});

    templayer.forEach(function(entry) {
         entry['svgPath'].attr('fill','#f6f4f2');
    });

于 2014-12-10T02:39:57.303 回答