利用百度地图JavaScript API绘制运动轨迹

写在前面
欢迎访问我的博客

  1. 如果需要使用百度地图javasript api,需先进行开发者认证,balalalala写上一堆理由之后认证就行,然后创建浏览器端的应用,得到可用的Ak,详情见百度地图开放平台。
  2. 假设你会一些简单的地图API应用,不会的话请移步这里API应用示例。
  3. 本文能做的就是用QT把一些点经纬度传给JS,并且按顺序绘制轨迹,在首尾加上标注。

QT

在mainwindow.cpp中修改槽函数:

void MainWindow::on_pushButton_clicked()
{
    QJsonArray num_json,num2_json;                       //声明QJsonArray
    QJsonDocument num_document,num2_document;    //将QJsonArray改为QJsonDocument类
    QByteArray num_byteArray,num2_byteArray;      //

    double num[2]={114.12,114.13};              //随便打的
    double num2[2]={30.12,30.13};               //表示两个点的经纬度
    int i=0;
    for(i=0;i<2;i++)                            //将数组传入压入num_json
    {
        num_json.append(num[i]);
        num2_json.append(num2[i]);
    }

    num_document.setArray(num_json);
    num2_document.setArray(num2_json);
    num_byteArray = num_document.toJson(QJsonDocument::Compact);
    num2_byteArray = num2_document.toJson(QJsonDocument::Compact);
    QString numJson(num_byteArray);             //再转为QString
    QString num2Json(num2_byteArray);             //再转为QString

    //qDebug() << numJson;
    QWebFrame *webFrame = ui->webView->page()->mainFrame();
    QString cmd = QString("showarray(\"%1\",\"%2\")").arg(numJson).arg(num2Json);
    webFrame->evaluateJavaScript(cmd);          //传给javascript

}

html




    
    
    
    
    基于GPS的位置追踪及地理围栏


    

结果

  1. 初始化


    利用百度地图JavaScript API绘制运动轨迹_第1张图片
    初始化
  2. 2点(我也不知道这是哪。。。)


    利用百度地图JavaScript API绘制运动轨迹_第2张图片
    2点
  3. 3点
    在QT中做如下修改:
double num[3]={114.12,114.13,114.14};              //随便打的
    double num2[3]={30.12,30.13,30.11};
    int i=0;
    for(i=0;i<3;i++)                            //将数组传入压入num_json
    {
        num_json.append(num[i]);
        num2_json.append(num2[i]);
    }

结果:


利用百度地图JavaScript API绘制运动轨迹_第3张图片
3点
  1. n点
    利用百度地图JavaScript API绘制运动轨迹_第4张图片
    n点

    因此,你要你有一系列的经纬度,就能很容易的绘制出轨迹,那怎么得到这些经纬度呢,见NMEA解析。

可能有不正确的地方,敬请谅解,如果觉得对您有所帮助,请打赏一下呗,谢谢~
码字不易,转载请注明地址

你可能感兴趣的:(利用百度地图JavaScript API绘制运动轨迹)