(请原谅我的英语不好) 我的多边形的顶部存储在我的数据库中(纬度,经度)。所以我恢复了桌子中的纬度和经度,然后我绘制了多边形。我的问题是3个顶部它工作正常,但是当它超过3时它会得到这个结果:
这是我的代码:
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'});
},
答案 0 :(得分:1)
我看到的问题是多边形顶点的排列。如果3点的顺序对于它的三角形不是必需的,但是在4和更多的情况下你必须对点进行排序然后推入数组。
Here is a helpful question about convex (non-concave) polygon