利用百度地图JavaScript|利用百度地图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
body, html,#allmap {width: 100%; height: 100%; overflow: hidden; margin:0; font-family:"微软雅黑"; }基于GPS的位置追踪及地理围栏 - 锐客网

结果
  1. 初始化

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

    利用百度地图JavaScript|利用百度地图JavaScript API绘制运动轨迹
    文章图片
    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|利用百度地图JavaScript API绘制运动轨迹
文章图片
3点
  1. n点
    利用百度地图JavaScript|利用百度地图JavaScript API绘制运动轨迹
    文章图片
    n点
    因此,你要你有一系列的经纬度,就能很容易的绘制出轨迹,那怎么得到这些经纬度呢,见NMEA解析。
【利用百度地图JavaScript|利用百度地图JavaScript API绘制运动轨迹】可能有不正确的地方,敬请谅解,如果觉得对您有所帮助,请打赏一下呗,谢谢~
码字不易,转载请注明地址

    推荐阅读