arcgis 4 与deckgl 整合 (三)

针对HexagonLayer

HexagonLayer 的数据构建器

const axios = require(‘axios’)

export default class TripsLayerParser {
static getDataFromUrl(url: string) {
return new Promise((resolve => {
const queryUrl = ${url}/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=%5B%5D&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&queryByDistance=&returnExtentsOnly=false&datumTransformation=&parameterValues=&rangeValues=&f=geojson
axios.get(queryUrl).then((r: any) => {
resolve(r.data.features);
});
}));
}

static getDataFromJsonUrl(url: string) {
return new Promise((resolve => {
axios.get(url).then((r: any) => {
resolve(r.data.features);
});
}));
}
}
三维base

const {loadArcGISModules} = require("@deck.gl/arcgis");

export default class BaseLayer3D {
deckRender: any;

init(_view: any) {
return loadArcGISModules([‘esri/views/3d/externalRenderers’]).then(({DeckRenderer, modules}: any) => {
const view = _view;
const [externalRenderers] = modules;
this.deckRender = new DeckRenderer(view, {});
externalRenderers.add(view, this.deckRender);
});
}

removeLayer() {
this.deckRender.deck.layers = [];
}
}
DeckHexagonLayer 主类


import HexagonLayerParser from "./HexagonLayerParser";
import ColorManager from "./ColorManager";
import BaseLayer3D from "./BaseLayer3D";

const {HexagonLayer} = require("@deck.gl/aggregation-layers");

interface INoop {
(args?: T): void
}

const noop: INoop = () => {
}

 更多参考arcgis 4 与deckgl 整合 (三) - 小专栏 (xiaozhuanlan.com)
上一篇:kotlin更多语言结构——>相等性


下一篇:ts文件中校验手机号、座机号、生日、大小写的密码