#include "frmheatmap.h" #include "MEASURERESULT.h" #include "ui_frmHeatMap.h" #include #include "quihelper.h" frmHeatMap::frmHeatMap(QString mapKey,QWidget *parent) : frmMapGps(mapKey,parent) ,mMeasureResult(new sMeasureResult()) ,pThreshold(nullptr) //,ui(new Ui::frmHeatMap) { ui = (Ui::frmHeatMap*)frmMapGps::ui; } frmHeatMap::~frmHeatMap() { //delete ui; delete mMeasureResult; } void frmHeatMap::OpenResult(QString FileName) { std::string stdFileName = FileName.toStdString(); this->mMeasureResult->Read(stdFileName); ShowHeadPoints(); ShowValue(); } void frmHeatMap::ShowValue(void) { //tableWidgetSource ui->tableWidgetSource->clear(); QTableWidget *ptr2 = ui->tableWidgetSource; int count1 = mMeasureResult->results.count(); ui->tableWidgetSource->setRowCount(count1); for (int i = 0; i < count1; ++i) { QString strPos =mMeasureResult->results[i].toString(); QString strppm = QString("%1").arg(mMeasureResult->results[i].OilWeightPPM); addItem(ui->tableWidgetSource, i,strPos ,strppm); } ui->tableWidgetSource->scrollToBottom(); } void frmHeatMap::initTable() { initTable(ui->tableWidgetSource); } //初始化表格控件 void frmHeatMap::initTable(QTableWidget *tableWidget) { ptr = tableWidget; QUIHelper::initTableView(tableWidget); tableWidget->setColumnCount(3); tableWidget->setHorizontalHeaderLabels(QStringList() << "序号" << "经纬度"<<"浓度"); tableWidget->setColumnWidth(0, 30); tableWidget->setColumnWidth(1, 120); tableWidget->setColumnWidth(2, 40); tableWidget->setRowCount(20); } //显示热力点 void frmHeatMap::ShowHeadPoints(void) { auto points = mMeasureResult->results; if(points.count()>0) { QString strPointHead = "var points =[\r\n"; QString strPointEnd = "];\r\n"; QString strFunc = QString("showHeatMap(points,%1);").arg(*this->pThreshold); auto combPoints = [&]( )->QString { QString strPoints(""); foreach (oneResult OneResult, points) { QString Point = QString("{\"lng\":%1,\"lat\":%2,\"count\":%3},") .arg(OneResult.trueLongitude) .arg(OneResult.trueLatitude) .arg(OneResult.OilWeightPPM); strPoints+=Point; } int len = strPoints.length(); strPoints.replace(len-1,1," "); return strPoints; }; QString strJSFunc =strPointHead+combPoints()+strPointEnd+strFunc; runJs(strJSFunc); GPSPoint gpsPoint( points[0].trueLongitude,points[0].trueLatitude); strJSFunc = QString("setCenter('%1')").arg(gpsPoint.toString()); runJs(strJSFunc); } // } //