我对此库有疑问:https://github.com/raptorswing/MapGraphics。联系制造商没有工作,所以我希望在这里得到帮助,有人可以面对同样的问题。
如何在此库中向地图添加对象?试图这样做是这样的:
MapGraphicsScene *scene = new MapGraphicsScene();
MapGraphicsView *view = new MapGraphicsView(scene);
LineObject line(Position(92.860984, 56.006355), Position(92, 56), 10);
QPainter linePainter;
QColor red(255, 0, 0);
linePainter.setPen(red);
QStyleOptionGraphicsItem itm;
line.paint(&linePainter, &itm, view);
QSharedPointer<OSMTileSource> osmTiles(new OSMTileSource(OSMTileSource::OSMTiles), &QObject::deleteLater);
QSharedPointer<CompositeTileSource> composite(new CompositeTileSource(), &QObject::deleteLater);
composite->addSourceBottom(osmTiles);
view->setTileSource(composite);
但它没有给出任何结果。你能帮助我吗? :(
答案 0 :(得分:0)
不幸的是,相关的代码位不在您的代码段中,但我想知道它是否是http vs https访问?当您尝试下载this http one等磁贴时,它现在将重定向到https。这引起了许多客户(据我所知,基于Java和基于Flash的客户端)。
github project说“它是一个Qt地图窗口小部件,可以使用MapQuest,Openstreetmap或您定义的自定义源的切片”,这表明它实际上很老,因为Mapquest没有自己的地图切片很长一段时间尝试使用自定义源并定义对OSM磁贴的https访问。
答案 1 :(得分:0)
完成以下操作就足够了:
MapGraphicsObject *line = new LineObject(Position(92.860984, 56.006355), Position(92, 56), 10);
view->scene().addObject(line);
这应该用任何类型的对象来完成。