Qt调用mapx绘制图形,删除绘制的图形后,地图上的图形不见了,但内存增加后无法释放

白日_焰火 2020-05-07 03:26:16
这是新建图层:
CMapXLayer *trail = layers->CreateLayer("Plane");
delete trail;
这是绘制直线:
CMapXLayer *trail = layers->Item("Plane");//error
CMapXFeature *tmp1;
CMapXFeature *tmp2;
CMapXFeature *drawline;
CMapXFeature *final;
CMapXPoint *pt1,*pt2;
CMapXStyle *style;
trail->BeginAccess(miAccessReadWrite);
tmp1 = feaFactory->CreateSymbol();
tmp2 = feaFactory->CreateSymbol();
pt1 = tmp1->Point();
pt2 = tmp2->Point();
QPointF point1 = GetLastPoint(icao);//获取上一个点的经纬度
pt1->Set(point1.x(),point1.y());
pt2->Set(lon,lat);
//// Savetrail = QPointF(lon,lat);
drawline = feaFactory->CreateArc(pt1->asVariant().value<IDispatch*>(),
pt2->asVariant().value<IDispatch*>(),
90,0,100);
style = drawline->Style();
style->SetLineColor(QColor(255,0,0));
style->SetLineWidth(2);
trail->SetEditable(true);
final = trail->AddFeature(drawline->asVariant().value<IDispatch*>());
final->Update();
trail->EndAccess();
//qDebug()<<"DRAW_PLANE_TRAIL"<<map->Layers()->Count();
delete trail;delete tmp1;delete tmp2;
delete drawline;delete final;delete pt1;
delete pt2;delete style;
这是删除图层部分:
layers->Remove("Plane");
...全文
86 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧