2012-05-16 145 views
0

时,我有下面的代码:多个孔遍历数组

while p < points.length 
    locs = points[p] 
    latLng = [] 
    i = 0 
    len = locs.length 

    while i < len 
    point = locs[i] 
    latLng.push new google.maps.LatLng(point[0], point[1]) 
    i++ 
    marker = new google.maps.Polygon(
    paths: latLng 
    fillColor: "#000000", 
    fillOpacity: 0 
    map: @gMap 
) 
    markers.push(marker) 
    p++ 

其中通过阵列抽签单独的多边形itterates。它工作得很好。然而,当我尝试介绍一个“容器多边形”,许多多边形将在我被打倒洞。我在这里了解演示...

PropertySearch.tintPolygon = new google.maps.Polygon({ 
    paths: [ everythingElse, circleOverlay ], 
    strokeColor: "#000000", 
    strokeOpacity: 0.8, 
    strokeWeight: 2, 
    fillColor: "#000000", 
    fillOpacity: 0.5 
}); 

我知道你可以有两条路径。然而,我循环了我的多边形生成器,所以我得到的是一个非常黑的地图,因为它不断重绘他的容器。

我想要得到的是一个0.5不透明度的容器,它具有小的多边形迭代的孔。 编辑1: 如果我只使用一个形状,我可以得到所需的效果其多个形状。我想我需要将所有路径移动到他们自己的变量中,然后将这些路径放入地图中?

回答

0

我看不出你是如何在代码片段中构造多边形的。

但是,对于有孔的多边形,每个单独的路径都需要是定义多边形的数组中的条目。对于有四个孔的多边形,您需要在一个多边形内定义五条路径。

为了使孔在支持Canvas图形的浏览器中正确显示,有必要考虑卷绕方向:每个孔应该按与包含它的多边形相反的方向进行定义。也就是说,对于由顺时针进行的点定义的包含多边形,它包含的每个孔都需要逆时针定义。

+0

我怎么能输出我的数组到许多单独的路径,而不是迭代每个?我想我有一个谷歌经纬度数组,数组??http://stackoverflow.com/questions/10619599/convert-array-to-google-lat-lng-array –

+0

谢谢你的意思!我之前是在做一个愚蠢的方式! –