kartograph.js Как получить элемент по идентификатору пути?

Я использую 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

1 ответ

Решение

Я получил идентификатор, я использовал Layer.getPaths({column:value});



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

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

Другие вопросы по тегам