2016-12-14 83 views
2

我试图延长地图边界几个多边形,但现在看来,这只是延长了边界在循环的最后面。对于我要去的地方错有什么建议?飞度界多个多边形谷歌地图

    function FitBounds(){ 
        for (var i=0; i < shapes2.length; i++){ 

          var paths = shapes2[i].getPaths(); 
          var bounds= new google.maps.LatLngBounds(); 
          paths.forEach(function(path){ 
           var ar = path.getArray(); 
           for(var i=0, l = ar.length; i <l; i++){ 
            bounds.extend(ar[i]); 

           } 
          }) 

        } 


         map.fitBounds(bounds) 
       } 

回答

5

在循环外部创建边界。

function FitBounds(){ 
    var bounds= new google.maps.LatLngBounds(); 
    for (var i=0; i < shapes2.length; i++){ 
      var paths = shapes2[i].getPaths(); 
      paths.forEach(function(path){ 
       var ar = path.getArray(); 
       for(var i=0, l = ar.length; i <l; i++){ 
        bounds.extend(ar[i]); 
       } 
      }) 
    } 
    map.fitBounds(bounds) 
}