AREXPORT ArClientHandlerRobotUpdate::~ArClientHandlerRobotUpdate() { if(myClient) { stopUpdates(); } }
/* Updates the system assuming that updateInterval and/or preferredPositioningMethod have changed. */ void QGeoSatelliteInfoSourceAndroid::reconfigureRunningSystem() { if (!updatesRunning) return; stopUpdates(); startUpdates(); }
void QGeoPositionInfoSourceAndroidGms::reconfigureRunningSystem() { if (!updatesRunning_) { return; } stopUpdates(); startUpdates(); }
QGeoSatelliteInfoSourceAndroid::~QGeoSatelliteInfoSourceAndroid() { stopUpdates(); if (requestTimer.isActive()) { requestTimer.stop(); AndroidPositioning::stopUpdates(androidClassKeyForSingleRequest); } AndroidPositioning::unregisterPositionInfoSource(androidClassKeyForUpdate); AndroidPositioning::unregisterPositionInfoSource(androidClassKeyForSingleRequest); }
void RouteMePositionInfo::onPositionUpdated(const QGeoPositionInfo &info) { if (!info.isValid() || !info.coordinate().isValid()) return; QGeoCoordinate coordinate = info.coordinate(); m_currentCoordinate.setGeoCoordinate(coordinate); emit currentCoordinateAvailable(); stopUpdates(); }
QGeoPositionInfoSourceBbPrivate::~QGeoPositionInfoSourceBbPrivate() { stopUpdates(); }
GPSDisplay::~GPSDisplay() { stopUpdates(); widget->setGPSDisplay(NULL); }
void XQLocationPrivate::DeliverPositionerResults(TPositionSatelliteInfo aPositionInfo) { TPosition pos; aPositionInfo.GetPosition(pos); // Handle speed reporting float speed = 0; if (speedAvailable) { // Positioning module is able to offer speed information TCourse course; aPositionInfo.GetCourse(course); speed = course.Speed(); if (isnan(speed)) { speed = 0; } } else { // Positioning module does not offer speed information // => Speed is calculated using position information & timestamps TTime posTime; TTimeIntervalSeconds interval; for (int i = iPositions.Count()-1 ; i >= 0; i--) { if (pos.Time().SecondsFrom(iPositions[i].Time(),interval) == KErrNone) { if (interval.Int() > 10) { pos.Speed(iPositions[i], speed); break; } } } while (iPositions.Count() > 0) { if (pos.Time().SecondsFrom(iPositions[0].Time(),interval) == KErrNone) { if (interval.Int() > 60) { iPositions.Remove(0); } else { break; } } } if (iPositions.Count() > 0) { if (pos.Time().SecondsFrom(iPositions[iPositions.Count()-1].Time(),interval) == KErrNone) { if (interval.Int() > 1) { iPositions.Append(pos); } } } else { iPositions.Append(pos); } // Accept speed from range 0.01 m/s (0.036 km/h) to 200 m/s (720 km/h) if (speed < 0.01 || speed > 200) { speed = 0; } } if (speed != iPreviousSpeed) { emit ipParent->speedChanged(speed); } iPreviousSpeed = speed; // Handle satellite information reporting if (satelliteInfoAvailable) { if (aPositionInfo.NumSatellitesInView() != iPreviousNumSatellitesInView) { emit ipParent->numberOfSatellitesInViewChanged(aPositionInfo.NumSatellitesInView()); } iPreviousNumSatellitesInView = aPositionInfo.NumSatellitesInView(); if (aPositionInfo.NumSatellitesUsed() != iPreviousNumSatellitesUsed) { emit ipParent->numberOfSatellitesUsedChanged(aPositionInfo.NumSatellitesUsed()); } iPreviousNumSatellitesUsed = aPositionInfo.NumSatellitesUsed(); } // Handle position information reporting if (iPreviousPosition.Latitude() != pos.Latitude() || iPreviousPosition.Longitude() != pos.Longitude() || iPreviousPosition.Altitude() != pos.Altitude()) { if (!isnan(pos.Latitude()) || !isnan(pos.Longitude()) || !isnan(pos.Altitude())) { emit ipParent->locationChanged(pos.Latitude(),pos.Longitude(),pos.Altitude(),speed); } if (iPreviousPosition.Latitude() != pos.Latitude()) { if (!isnan(pos.Latitude())) { emit ipParent->latitudeChanged(pos.Latitude(),pos.HorizontalAccuracy()); } } if (iPreviousPosition.Longitude() != pos.Longitude()) { if (!isnan(pos.Longitude())) { emit ipParent->longitudeChanged(pos.Longitude(),pos.HorizontalAccuracy()); } } if (iPreviousPosition.Altitude() != pos.Altitude()) { if (!isnan(pos.Altitude())) { emit ipParent->altitudeChanged(pos.Altitude(),pos.VerticalAccuracy()); } } } iPreviousPosition = pos; if (iSingleUpdate) { stopUpdates(); iSingleUpdate = EFalse; } }
QGeoPositionInfoSourceAndroidGms::~QGeoPositionInfoSourceAndroidGms() { stopUpdates(); }