Проблема с отображением QGraphicsGeoMap
Я новичок в Qt и пытаюсь отобразить карту Ovi.
К сожалению, моя программа просто вылетает. Вот мой код:
MapView::MapView(QWidget *parent, const char *name) {
mappingManager = 0;
QGeoServiceProvider *serviceProvider = new QGeoServiceProvider("nokia");
// QGeoSearchManager *searchManager = 0;
// QGeoServiceProvider serviceProvider("nokia");
//QGeoRoutingManager *routingManager = 0;
//routingManager = serviceProvider.routingManager();
if (serviceProvider->error() == QGeoServiceProvider::NoError) {
mappingManager = serviceProvider->mappingManager();
// searchManager = serviceProvider.searchManager();
QGraphicsScene *scene = new QGraphicsScene(this);
QGraphicsView *view = new QGraphicsView(scene, this);
mapGraphics = new QGraphicsGeoMap(mappingManager);
mapGraphics->setMapType(QGraphicsGeoMap::StreetMap);
mapGraphics->setConnectivityMode(QGraphicsGeoMap::HybridMode);
// scene->addText("Map view");
scene->addItem(mapGraphics);
view->show();
} else {
QMessageBox::information(this, "Map", "Service provider error");
}
}
Я закомментировал строку, которая, по моему мнению, вызывает сбой - scene->addItem(mapGraphics);
Как мне добавить mapGraphics, чтобы я мог видеть его на экране? Я действительно ценю руку с этим.
Заранее спасибо, J
1 ответ
Взгляните на учебник по Демо-картам.
Исходный код находится в {QtSDK}\ examples\4.7\mobile\mapsdemo\ или на qt.gitorious.org