在百度地图中,多边形覆盖物表示地图上的多边形区域。这些区域可以是封闭的,也可以是开放的。多边形覆盖物通常用于表示地图上的行政区划、地标或任何需要强调的区域。
多边形覆盖物拥有自己的地理坐标,并能随着地图的拖动或缩放而相应地移动。在创建多边形覆盖物时,需要提供多边形的顶点坐标,并可以通过调整顶点顺序或添加新的顶点来编辑多边形的形状。
需要注意的是,同一时刻在地图上只能有一个信息窗口打开。对于需要展示更多信息的多边形覆盖物,可以考虑使用信息窗口或其他覆盖物类型。
在百度地图API中,可以使用Polygon类来创建多边形覆盖物。
绘制多边形
// 创建多边形
var path = [
new BMap.Point(113.927143, 22.766675),
new BMap.Point(113.946116, 22.746145),
new BMap.Point(113.960776, 22.768807),
new BMap.Point(113.944103, 22.773073),
new BMap.Point(113.914208, 22.770407)
]
var polygon = new BMap.Polygon(path, {
strokeColor: 'blue',
strokeWeight: 2,
strokeOpacity: 0.5
});
计算多边形中心点
/*
* path,返回多边型的点数组,Array<Point>
*/
function getCenterPoint(path) {
var x = 0.0;
var y = 0.0;
for (var i = 0; i < path.length; i++) {
x = x + parseFloat(path[i].lng);
y = y + parseFloat(path[i].lat);
}
x = x / path.length;
y = y / path.length;
//console.log(x);
//console.log(y);
//console.log(x+','+y);
var Point = new BMap.Point(x, y);
// 创建点标记
var marker2 = new BMap.Marker(Point);
map.addOverlay(marker2);
}
@漏刻有时