Javascript 在Raphaels中使用paper.setStart()和paper.setFinish()之间的元素

Javascript 在Raphaels中使用paper.setStart()和paper.setFinish()之间的元素,javascript,raphael,Javascript,Raphael,这是我的问题。实际上它有两个部分——第一部分和第二部分。让我们以这段代码为例。 我正在制作一张由地区组成的地图(我的国家由地区组成,地图是我国家的地图)。所以我想用整个地图做些事情,比如缩放,平移。。。(注释行)。 我还想用一个或一个区域的一部分来工作,也就是说用一个区域。 我对Raphaels和javascript都是新手,我只是不知道怎么做。所以这里有一些类似于伪代码的东西,我会怎么做,很明显我应该再做一次,我的问题是怎么做。让我们看看下面的代码: window.onload = func

这是我的问题。实际上它有两个部分——第一部分和第二部分。让我们以这段代码为例。 我正在制作一张由地区组成的地图(我的国家由地区组成,地图是我国家的地图)。所以我想用整个地图做些事情,比如缩放,平移。。。(注释行)。 我还想用一个或一个区域的一部分来工作,也就是说用一个区域。 我对Raphaels和javascript都是新手,我只是不知道怎么做。所以这里有一些类似于伪代码的东西,我会怎么做,很明显我应该再做一次,我的问题是怎么做。让我们看看下面的代码:

 window.onload = function() {
      var p = Raphael("paper");
      p.rect(0,0,600,350);

      p.setStart();
        var region1 = p.path("M404 ...");//I wont write all path here, "..." = rest of the path
        var region2 = p.path("M173.5 ...");
        //... rest of regions
      var map = p.setFinish();
      //map.scale(...).translate(...);// ... means just something correct is inthere

  //I wanna do first for example something like this
   map.region1.attr({
     fill: "blue"
   });
  //how should I do it?
  //Then second I would do also something like this
   for (region in map) {
      region.attr({//something...});
   }
 };

我认为你可能需要的两种主要方法是

set.forEach(function(e){
    //do something here on every element
})

set.transform('t100,100s2'); //translate and scale
我会在get some bits Start上翻阅Raphael文档,然后发布一个JSFIDLE(您可以在左侧添加Raphael lib),其中包含您遇到的任何具体问题