Mapgraphics library on github. C++/Qt/OpenStreetMap

Mapgraphics library on github. C++/Qt/OpenStreetMap

本文关键字:Qt OpenStreetMap C++ github library on Mapgraphics      更新时间:2023-10-16

我对此库有一个问题: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);

但没有给出任何结果。你能帮助我吗?:(

不幸的是,相关的代码位不在您的代码中,但是我想知道它是否是http vs vs https访问?当您尝试下载诸如此HTTP诸如HTTP之类的瓷砖时,现在它将重定向到HTTPS。这吸引了许多客户(据我所知,基于Java和基于Flash的客户(。

github项目说:"这是一个QT地图小部件,可以使用MapQuest,OpenStreetMap或您定义的自定义源中的图块",这实际上表明它已经很旧了,因为MapQuest没有自己的地图瓷砖很久。尝试使用自定义源并定义https访问OSM图块。

这足以进行以下操作:

MapGraphicsObject *line = new LineObject(Position(92.860984, 56.006355), Position(92, 56), 10);
view->scene().addObject(line);

这应该用任何类型的对象完成。