void MapScene::addMark(qreal latitude, qreal longitude, QVariant data) { //NOTE: Need to be refactored for use with marks QPixmap pixmap(20,20); pixmap.fill(Qt::transparent); QPoint center(pixmap.width()/2, pixmap.height()/2); QPainter painter; painter.begin(&pixmap); painter.setBrush(Qt::blue); painter.drawEllipse(center, pixmap.width()/2, pixmap.height()/2); painter.setBrush(Qt::black); painter.drawEllipse(center, pixmap.width()/10, pixmap.height()/10); painter.end(); QGraphicsItem * mark = this->addPixmap(pixmap); QPointF mark_point = OSMCoordinatesConverter::GeoToTile(latitude, longitude, this->m_zoom); mark_point.setX(mark_point.x()*256.0); mark_point.setY(mark_point.y()*256.0); mark->setX(mark_point.x()); mark->setY(mark_point.y()); mark->setData(0,data); this->views()[0]->centerOn(mark_point); }