目录
前言
一、点
二、线
三、面
四、html配置
五、页面展示
function enableCreateMultipoint() {
var pointAction = draw.create("multipoint", { mode: "click" });
pointAction.on("cursor-update", function (evt) {
createMultipointGraphic(evt.vertices)
});
pointAction.on("vertex-add", function (evt) {
createMultipointGraphic(evt.vertices)
});
pointAction.on("vertex-remove", function (evt) {
createMultipointGraphic(evt.vertices)
});
pointAction.on("draw-complete", function (evt) {
createMultipointGraphic(evt.vertices)
})
function createMultipointGraphic(vertices) {
view.graphics.removeAll();
multipoint = new Multipoint({
points: vertices,
spatialReference: view.SpatialReference
});
var multipointFGraphic = new Graphic({
geometry: multipoint,
symbol: {
type: "simple-marker",
style: "circle",
color: "red",
size: "10px",
outline: {
color: [255, 255, 5],
width: 1.5
}
}
});
view.graphics.add(multipointFGraphic);
}
}
function enableCreatePolyline() {
var lineAction = draw.create("polyline", { mode: "left-click" });
lineAction.on("vertex-add", function (evt) {
createPolylineGraphic(evt.vertices);
});
lineAction.on("vertex-remove", function (evt) {
createPolylineGraphic(evt.vertices);
})
lineAction.on("cursor-update", function (evt) {
createPolylineGraphic(evt.vertices);
})
lineAction.on("draw-complete", function (evt) {
createPolylineGraphic(evt.vertices);
})
function createPolylineGraphic(vertices) {
//先清除图形
view.graphics.removeAll();
polyline = {
type: "polyline",
paths: vertices,
spatialReference: view.spatialReference
};
var graphic = new Graphic({
geometry: polyline,
symbol: {
type: 'simple-line',
color: [255, 69, 0],
width: 3,
cap: "round",
join: "round"
}
})
view.graphics.add(graphic);
}
}
function enableCreatePlygon() {
var rectangleAction = draw.create("polygon", { mode: "click" });
rectangleAction.on("vertex-add", function (evt) {
createRectangleGraphic(evt.vertices)
})
rectangleAction.on("vertex-remove", function (evt) {
createRectangleGraphic(evt.vertices);
})
rectangleAction.on("cursor-update", function (evt) {
createRectangleGraphic(evt.vertices);
})
rectangleAction.on("draw-complete", function (evt) {
createRectangleGraphic(evt.vertices);
})
function createRectangleGraphic(vertices) {
view.graphics.removeAll();
polygon = {
type: "polygon",
rings: vertices,
spatialReference: view.spatialReference
}
var graphic = new Graphic({
geometry: polygon,
symbol: {
type: "simple-fill",
color: [210, 105, 30, 0.8],
style: "solid",
outline: {
color: "white",
width: 2
}
}
})
view.graphics.add(graphic);
}
}
欢迎大家关注我的公众号,我也会在公众号同步更新。
若大家对进阶打怪有兴趣的话,欢迎订阅以下专栏
地址:WebGIS入门和进阶实战
https://xiaozhuanlan.com/webgis?rel=4873733295