一、前言
折线图目前应用最广的也是用来绘制各种轨迹,折线图其实就是后面动态轨迹图、飞机航线图的前身,公用的一个方法addPolyline,折线图可以设置颜色、粗细、透明度等属性,如果开启了悬浮绘图工具栏,也可以直接单击工具栏中的折线图绘制工具,直接动态绘制。
二、功能特点
- 同时支持在线地图和离线地图两种模式。
- 同时支持webkit内核、webengine内核、miniblink内核、IE内核。
- 支持设置多个标注点,信息包括名称、地址、经纬度。
- 可设置地图是否可单击、拖动、鼠标滚轮缩放。 。。。
三、体验地址
- 体验地址:pan.baidu.com/s/1ZxG-oyUK… 提取码:o05q 文件名:bin_map.zip
- 国内站点:gitee.com/feiyangqing…
- 国际站点:github.com/feiyangqing…
- 个人主页:blog.csdn.net/feiyangqing…
- 知乎主页:www.zhihu.com/people/feiy…
四、效果图
五、相关代码
void MapBaiDu::addPolyline(QStringList &list)
{
//动态添加折线
list << QString(" function addPolyline(points, color, weight, opacity) {");
list << QString(" var pts = getPoints(points);");
list << QString(" var property = getProperty(color, weight, opacity);");
list << QString(" var polyline = new %1.Polyline(pts, property);").arg(mapFlag);
list << QString(" map.addOverlay(polyline);");
list << QString(" }");
}
void frmMapBaiDu::on_btnDrawRoute_clicked()
{
if (routeDatas.count() == 0) {
QUIHelper::showMessageBoxError("请先单击查询路线获取路线的坐标点集合!");
return;
}
//清空之前的轨迹点
runJs("deleteOverlay('Polyline')");
//将收到的路径点集合分线段绘制
foreach (QStringList data, routeDatas) {
QString points = data.join("|");
QString js = QString("addPolyline('%1', '#ff0000')").arg(points);
runJs(js);
}
}