Map 分析与查询

类型 / 参数 / 返回值 / 用法 · 右侧为本页导航

自定义 本库 API OL OpenLayers 融合 自定义与 OL 混用

Map 分析与查询

Map 方法 · 分析与查询

示例页:/draw/advanced

drawSearch(callback, param?)

map.drawSearch((results, num) => {
  console.log('命中', num, results);
}, { type: 'Polygon' });

cancelDrawing() / clearDrawing()

map.cancelDrawing();
map.clearDrawing();

getDrawResult(callback)

map.getDrawResult((results, num) => console.log(results, num));

circleSearch(data, callback, radius?, options?)

map.circleSearch(
  { objX: 13528430, objY: 3676466 },
  (codes) => console.log(codes),
  0.05,
  { layerCode: 'hydrant', color: '#f00' }
);

cancelCircleSearch()

analysis(type, options)

// 默认 Canvas 批量流向(含小数据)
map.analysis('result', {
  data: [{ objXStart, objYStart, objXEnd, objYEnd }],
  lineColor: '#191970',
  flowColor: '#FFFF73'
});

// 10万级同样默认 canvas;也可显式写出
map.analysis('result', {
  data, // 行数组或 Float64Array([x0,y0,x1,y1,...])
  renderMode: 'canvas',
  lineColor: '#191970',
  flowColor: '#FFFF73',
  lineWidth: 1.5,
  flowSpeed: 28
});
// 等价:map.showFlowNetwork(data, { lineColor, flowColor, lineWidth });

// 仅调试旧动画时:
// renderMode: 'vector'

map.clearAnalysis(); // 清空分析层 / Canvas 流向层并停止动画

analysis type

type交互finishCallback 典型参数
slope绘面(objCodes)
crossSection绘线(objCodes, distance[])
verticalSection两点选管线(results[])
verticalSectionResult无交互,画结果线
flowDirection绘面(objCodes)
resultoptions.data 画流动画
trace / traceSource / connectedness点选管线(objCodes)
closeValve点选(objCodes)
closeValveResult画关阀结果
point点选管点(objCodes)

cancelAnalysis()

map.cancelAnalysis();

clearAnalysis()

map.clearAnalysis();

statistics(layerCodes, options?)

map.statistics(['pipe'], { /* 分级样式 */ });
map.statistics(['pipe']); // 恢复

statisticsByField(callback, options)

map.statisticsByField((result) => {
  console.log(result);
}, { layerCodes: ['pipe'] });

isPointInRange(data, coordinates)

const inside = map.isPointInRange(
  { objX: 13528430, objY: 3676466 },
  [[x1,y1],[x2,y2],[x3,y3],[x1,y1]]
);

getPointsInRange(data, coordinates)

const codes = map.getPointsInRange(list, ring);