我用下面的代碼獲取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應用程序中使用。任何想法爲什麼上面的代碼無法獲得手機上的地理位置,但在模擬器上完美工作?