bmh_cesium/public/widgets/measureChars/view.js
2025-03-10 07:23:50 +08:00

135 lines
3.5 KiB
JavaScript

var thisWidget;
//当前页面业务
function initWidgetView(_thisWidget) {
thisWidget = _thisWidget;
if (thisWidget.config && thisWidget.config.style) {//适应不同样式
$("body").addClass(thisWidget.config.style);
}
}
//图表
var myChart1;
//剖面分析 图表
function setEchartsData(data) {
if (myChart1 == null)
myChart1 = echarts.init(document.getElementById('echartsView1'), 'dark');
var arrPoint = data.arrPoint;
var option = {
grid: {
left: 10,
right: 10,
bottom: 10,
containLabel: true
},
dataZoom: [{
type: 'inside',
throttle: 50
}],
tooltip: {
trigger: 'axis',
//position: function (point, params, dom, rect, size) {
// return [10, 20];
//},
formatter: function (params) {
var inhtml = "";
if (params.length == 0) {
thisWidget.hideTipMarker();
return inhtml;
}
var hbgd = params[0].value; //海拔高度
var point = arrPoint[params[0].dataIndex]; //所在经纬度
var len = haoutil.str.formatLength(Number(params[0].axisValue))
var hbgdStr = haoutil.str.formatLength(Number(params[0].value))
inhtml = `当前位置<br />
距起点:${len}<br />
海拔:<span style='color:${params[0].color};'>${hbgdStr}</span><br />
经度:${point.x}<br />
纬度:${point.y}`;
thisWidget.showTipMarker(point, hbgd, inhtml);
return inhtml;
}
},
xAxis: [
{
name: '行程',
type: 'category',
boundaryGap: false,
axisLine: {
show: false
},
axisLabel: {
show: false
},
data: data.arrLen
}
],
yAxis: [
{
//name: '高度',
type: 'value',
min: getMinZ(arrPoint),
axisLabel: {
// rotate: 60,
formatter: '{value} 米'
}
}
],
series: [
{
name: '高程值',
type: 'line',
smooth: true,
symbol: 'none',
sampling: 'average',
itemStyle: {
normal: {
color: 'rgb(255, 70, 131)'
}
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgb(255, 158, 68)'
}, {
offset: 1,
color: 'rgb(255, 70, 131)'
}])
}
},
data: data.arrHB
},
]
};
myChart1.setOption(option);
}
function getMinZ(arr) {
var minz = 'dataMin';
if (arr == null || arr.length == 0) return minz;
minz = arr[0].z
for (var i = 0; i < arr.length; i++) {
if (arr[i].z < minz) {
minz = arr[i].z;
}
}
return minz;
}