我用下面的代码获取GeoLocation中我的应用程序的Qt:移动GeoLocation中工作在模拟器,但不是在N900
QGeoPositionInfoSource *source = QGeoPositionInfoSource::createDefaultSource(this);
if (source) {
source->setUpdateInterval(1000); // time in milliseconds
source->setPreferredPositioningMethods(QGeoPositionInfoSource::AllPositioningMethods);
connect(source, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(positionUpdated(QGeoPositionInfo)));
source->startUpdates();
source->requestUpdate(30000);
const QGeoPositionInfo &info =source->lastKnownPosition();
ui->label->setText(QString("Latitude - %1 Longitude - %2").arg(info.coordinate().latitude()).arg(info.coordinate().longitude()));
}
此代码完美运行在模拟器,给我的模拟器提供的坐标,但是这当我尝试在我的N900上运行它时不起作用。它返回Nan而不是经纬度坐标。手机上的当前GPS信号精度较低。地理定位功能也可以在手机上的OVI Maps应用程序中使用。任何想法为什么上面的代码无法获得手机上的地理位置,但在模拟器上完美工作?