Polygon

继承Layer

用来在地图上绘制多边形。


示例

//使用坐标数组创建一个红色的多边形

 //初始化坐标数组
  var latlngs = [
      [39.9,116.356484],
      [39.8,116.400957],
      [39.8,116.461915],
      [39.9,116.484237],
      [39.9,116.356484]
      ]
  ;           
 //创建面添加到地图上
 var polygon = W.polygon(latlngs, {color: 'red'}).addTo(map);

// 缩放到合适的级别
map.fitBounds(polygon.getBounds());

//可以用多维数组。第一个数组表示多边形的外边框,剩下的数组表示边框内部的洞。

var latlngs = [
  [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring
  [[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole
];

//还可以使用多维数组表示MultiPolygon 形状。

var latlngs = [
  [ // 第1个 polygon
    [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring
    [[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole
  ],
  [ // 第2个 polygon
    [[41, -111.03],[45, -111.04],[45, -104.05],[41, -104.05]]
  ]
];

构造函数

工厂 描述
W.polygon(<LatLng[]> latlngs, <Polygon options> options?) 使用坐标数组创建多边形

构造选项

选项 类型 默认值 描述
stroke Boolean true 是否绘制边框
color String '#3388ff' 边框颜色
weight Number 3 边框粗细,单位是像素
opacity Number 1.0 边框透明度
lineCap String 'round' 两端形状 请参照
lineJoin String 'round' 拐角处形状 请参照
fill Boolean 是否有填充效果
fillColor String * 填充颜色,默认和color相同
fillOpacity Number 0.2 填充透明度
fillRule String 'evenodd' 填充规则请参照
className String null 自定义样式
smoothFactor Number 1.0 控制不同显示级别稠稀程度。越大表示更好的性能和更加平滑。越小则越精确

方法

方法 返回值 描述
getLatLngs() LatLng[] 获取坐标数组
setLatLngs(<LatLng[]> latlngs) this 设置坐标数组
isEmpty() Boolean 如果没有坐标,则返回true
getCenter() LatLng 获取中心点
getBounds() LatLngBounds 获取边界
addLatLng(<LatLng> latlng) this 添加坐标点
enableEdit() this 启用编辑
disableEdit() this 禁止编辑
toGeoJSON() Object 返回GeoJSON格式, ( 可能是Polygon Feature或 MultiPolygon Feature)

results matching ""

    No results matching ""