卡图.js如何通过路径 ID 获取元素

kartograph.js How to get element by path id?

本文关键字:ID 获取 元素 路径 何通过 js 卡图      更新时间:2023-09-26

我正在使用制图.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

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


    var templayer = map.getLayer('mylayer').getPaths({watershedname:selected});
    templayer.forEach(function(entry) {
         entry['svgPath'].attr('fill','#f6f4f2');
    });