官方标配写法:
import L from 'leaflet';
import FreeDraw from 'leaflet-freedraw';
const map = new L.Map(node);
const freeDraw = new FreeDraw();
map.addLayer(freeDraw);复制代码
绘画操作函数:
freeDraw.on('markers', event => {
console.log(event.latLngs); // 返回所有多边形坐标
});复制代码
那么返回最新画的多边形坐标,咋整?
var latestPolygon = eventData.latLngs.filter(function (latLngs) {
const json = JSON.stringify(latLngs)
const has = !~seenPolygons.indexOf(json)
has && seenPolygons.push(json)
return has
}) // latestPolygon 就是最新的这个多边形坐标复制代码
画笔的功能 和 一些默认值
Option | Default | Result |
---|---|---|
mode | ALL | Modifies the default mode. |
smoothFactor | 0.3 | By how much to smooth the polygons. |
elbowDistance | 10 | Factor to determine when to delete or when to append an edge. |
simplifyFactor | 1.1 | By how much to simplify the polygon. |
mergePolygons | true | Whether to attempt merging of polygons that intersect. |
concavePolygon | true | Whether to apply the concaving algorithm to the polygons. |
maximumPolygons | Infinity | Maximum number of polygons to be added to the map layer. |
recreateAfterEdit | false | Whether to recreate the polygons subsequent to them being modified. |
notifyAfterEditExit | false | Whether to defer markers event until after exiting EDIT mode. |
leaveModeAfterCreate | false | Whether to exit CREATE mode after each polygon creation. |
strokeWidth | 2 | Size of the stroke when drawing. |
指定画笔有哪些功能,咋整?
// Allow create, edit and delete.
freeDraw.mode(CREATE | EDIT | DELETE);
// Allow everything except create.
freeDraw.mode(ALL ^ CREATE);
// Allow nothing.
freeDraw.mode(NONE);复制代码
各种方法函数 :
Method | Yields | Result |
---|---|---|
create | Array | Creates a polygon by passing an array of LatLng s |
remove | void | Removes a polygon that is yielded from create |
clear | void | Clears all polygons from the current instance |
mode | Number | Sets and retrieves the current mode . |
cancel | void | Cancels the current create action – such as on escape. |
size | Number | Yields the number of polygons on the map layer. |
all | Array | Enumerate all of the current polygons for the current layer |
备注:
单击多边形 可以 删掉