谷歌地图API与多边形。

6

抱歉我的英语不太好。

我的多边形顶点存储在数据库中(纬度,经度)。因此,我从表格中恢复了纬度和经度,然后绘制了多边形。我的问题是,当有超过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'});
                                },

我不确定你对“tops”的定义是什么,而且我也没有看到多边形有什么问题(因为我没有看到问题)。 - Erik Philips
谢谢您的回复,我的意思是顶部角落或顶点。问题在于它不是一个多边形,它没有覆盖整个表面。 - Nadk
1
你的数据来自哪里?这个多边形的数据是什么?我觉得顶点只需要重新排序就可以了。 - geocodezip
我在我的数据库中有一张名为“capteur”的表,其中存储了所有的点。但是我不知道如何重新排序它,哈哈。 - Nadk
我在请求中添加了“按经度排序”的内容,现在可以正常工作了。感谢您的支持。 - Nadk
@geocodezip,您可以将您的评论发布为答案。 - GameAlchemist
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接