带有多边形的Google Maps API

时间:2014-03-27 22:37:36

标签: javascript google-maps google-maps-api-3

(请原谅我的英语不好) 我的多边形的顶部存储在我的数据库中(纬度,经度)。所以我恢复了桌子中的纬度和经度,然后我绘制了多边形。我的问题是3个顶部它工作正常,但是当它超过3时它会得到这个结果:

Map

这是我的代码:

success: function(data) {
                             //   alert(data); 
                    var tableauPointsPolygone = new Array ();                          
                    var j=0;
                    var somme=0;
                    $.each(data, function(i, item) {
                                tableauPointsPolygone.push(new google.maps.LatLng(item.latitude, item.longitude));
                                somme+= parseInt(item.valeur);
                                j++;
                                addMarker(item.latitude,item.longitude,item.adr);
                                center = bounds.getCenter();
                                map.fitBounds(bounds);
                    // alert(item.latitude);
});
var monPolygone = new google.maps.Polygon();
monPolygone.setPaths( tableauPointsPolygone );
monPolygone.setMap( map );
if (somme/j<5)
monPolygone.setOptions({strokeWeight: 3,strokeColor: '#582900' ,fillColor: '#1FA055'});
else
monPolygone.setOptions({strokeWeight: 3,strokeColor: '#582900' ,fillColor: '#A91101'});
                                },

1 个答案:

答案 0 :(得分:1)

我看到的问题是多边形顶点的排列。如果3点的顺序对于它的三角形不是必需的,但是在4和更多的情况下你必须对点进行排序然后推入数组。

Here is a helpful question about convex (non-concave) polygon