Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QGeoRoutingManager Class Reference

\inmodule QtLocation More...

#include <qgeoroutingmanager.h>

+ Inheritance diagram for QGeoRoutingManager:
+ Collaboration diagram for QGeoRoutingManager:

Signals

void finished (QGeoRouteReply *reply)
 This signal is emitted when reply has finished processing.
 
void errorOccurred (QGeoRouteReply *reply, QGeoRouteReply::Error error, const QString &errorString=QString())
 This signal is emitted when an error has been detected in the processing of reply.
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 ~QGeoRoutingManager ()
 Destroys this manager.
 
QString managerName () const
 Returns the name of the engine which implements the behaviour of this routing manager.
 
int managerVersion () const
 Returns the version of the engine which implements the behaviour of this routin manager.
 
QGeoRouteReplycalculateRoute (const QGeoRouteRequest &request)
 Begins the calculation of the route specified by request.
 
QGeoRouteReplyupdateRoute (const QGeoRoute &route, const QGeoCoordinate &position)
 Begins the process of updating route based on the current position position.
 
QGeoRouteRequest::TravelModes supportedTravelModes () const
 Returns the travel modes supported by this manager.
 
QGeoRouteRequest::FeatureTypes supportedFeatureTypes () const
 Returns the types of features that this manager can take into account during route planning.
 
QGeoRouteRequest::FeatureWeights supportedFeatureWeights () const
 Returns the weightings which this manager can apply to different features during route planning.
 
QGeoRouteRequest::RouteOptimizations supportedRouteOptimizations () const
 Returns the route optimizations supported by this manager.
 
QGeoRouteRequest::SegmentDetails supportedSegmentDetails () const
 Returns the levels of detail for routing segments which can be requested with this manager.
 
QGeoRouteRequest::ManeuverDetails supportedManeuverDetails () const
 Returns the levels of detail for navigation maneuvers which can be requested by this manager.
 
void setLocale (const QLocale &locale)
 Sets the locale to be used by this manager to locale.
 
QLocale locale () const
 Returns the locale used to hint to this routing manager about what language to use for addresses and instructions.
 
void setMeasurementSystem (QLocale::MeasurementSystem system)
 Sets the measurement system used by this manager to system.
 
QLocale::MeasurementSystem measurementSystem () const
 Returns the measurement system used by this manager.
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 

Friends

class QGeoServiceProvider
 
class QGeoServiceProviderPrivate
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Detailed Description

\inmodule QtLocation

Since
5.6

The QGeoRoutingManager class provides support for geographic routing operations.

The calculateRoute() and updateRoute() methods function QGeoRouteReply objects, which manage these operations and report on the result of the operations and any errors which may have occurred.

The calculateRoute() function is used to find a route (or routes) that follows a set of waypoints and matches various other criteria. The QGeoRouteRequest class is used to specify this information.

If supportsRouteUpdates() returns true then the QGeoRoutingManager supports updating route information based on position updates. This will cause the travel time and distance estimates to be updated, and any QGeoRouteSegments already traversed to be removed from the route.

The updates can be triggered with the updateRoute() function, which makes use of the QGeoPositionInfo instances emitted as position updates by QGeoPositionInfoSource.

Instances of QGeoRoutingManager can be accessed with QGeoServiceProvider::routingManager().

A small example of the usage of QGeoRoutingManager and QGeoRouteRequests follows:

Definition at line 17 of file qgeoroutingmanager.h.

Constructor & Destructor Documentation

◆ ~QGeoRoutingManager()

QGeoRoutingManager::~QGeoRoutingManager ( )

Destroys this manager.

Definition at line 75 of file qgeoroutingmanager.cpp.

Member Function Documentation

◆ calculateRoute()

QGeoRouteReply * QGeoRoutingManager::calculateRoute ( const QGeoRouteRequest & request)

Begins the calculation of the route specified by request.

A QGeoRouteReply object will be returned, which can be used to manage the routing operation and to return the results of the operation.

This manager and the returned QGeoRouteReply object will emit signals indicating if the operation completes or if errors occur.

Once the operation has completed, QGeoRouteReply::routes can be used to retrieve the calculated route or routes.

If request includes features which are not supported by this manager, as reported by the methods in this manager, then a QGeoRouteReply::UnsupportedOptionError will occur.

The user is responsible for deleting the returned reply object, although this can be done in the slot connected to QGeoRoutingManager::finished(), QGeoRoutingManager::errorOccurred(), QGeoRouteReply::finished() or QGeoRouteReply::errorOccurred() with deleteLater().

Definition at line 125 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine, and request.

Referenced by RouteHandler::RouteHandler(), and QDeclarativeGeoRouteModel::update().

+ Here is the caller graph for this function:

◆ errorOccurred

void QGeoRoutingManager::errorOccurred ( QGeoRouteReply * reply,
QGeoRouteReply::Error error,
const QString & errorString = QString() )
signal

This signal is emitted when an error has been detected in the processing of reply.

The QGeoRoutingManager::finished() signal will probably follow.

The error will be described by the error code error. If errorString is not empty it will contain a textual description of the error.

This signal and QGeoRouteReply::errorOccurred() will be emitted at the same time.

Note
Do not delete the reply object in the slot connected to this signal. Use deleteLater() instead.

Referenced by RouteHandler::RouteHandler().

+ Here is the caller graph for this function:

◆ finished

void QGeoRoutingManager::finished ( QGeoRouteReply * reply)
signal

This signal is emitted when reply has finished processing.

If reply::error() equals QGeoRouteReply::NoError then the processing finished successfully.

This signal and QGeoRouteReply::finished() will be emitted at the same time.

Note
Do not delete the reply object in the slot connected to this signal. Use deleteLater() instead.

Referenced by RouteHandler::RouteHandler().

+ Here is the caller graph for this function:

◆ locale()

QLocale QGeoRoutingManager::locale ( ) const

Returns the locale used to hint to this routing manager about what language to use for addresses and instructions.

Definition at line 231 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

Referenced by setLocale().

+ Here is the caller graph for this function:

◆ managerName()

QString QGeoRoutingManager::managerName ( ) const

Returns the name of the engine which implements the behaviour of this routing manager.

The combination of managerName() and managerVersion() should be unique amongst the plugin implementations.

Definition at line 87 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

◆ managerVersion()

int QGeoRoutingManager::managerVersion ( ) const

Returns the version of the engine which implements the behaviour of this routin manager.

The combination of managerName() and managerVersion() should be unique amongst the plugin implementations.

Definition at line 99 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

◆ measurementSystem()

QLocale::MeasurementSystem QGeoRoutingManager::measurementSystem ( ) const

Returns the measurement system used by this manager.

If setMeasurementSystem() has been called then the value returned by this function may be different to that returned by locale().\l {QLocale::measurementSystem()}{measurementSystem()}. In which case the value returned by this function is what will be used by the manager.

See also
setMeasurementSystem(), setLocale()

Definition at line 258 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

Referenced by QDeclarativeGeoRouteModel::measurementSystem(), and QDeclarativeGeoRouteModel::setMeasurementSystem().

+ Here is the caller graph for this function:

◆ setLocale()

void QGeoRoutingManager::setLocale ( const QLocale & locale)

Sets the locale to be used by this manager to locale.

If this routing manager supports returning addresses and instructions in different languages, they will be returned in the language of locale.

The locale used defaults to the system locale if this is not set.

Definition at line 222 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine, and locale().

+ Here is the call graph for this function:

◆ setMeasurementSystem()

void QGeoRoutingManager::setMeasurementSystem ( QLocale::MeasurementSystem system)

Sets the measurement system used by this manager to system.

The measurement system can be set independently of the locale. Both setLocale() and this function set the measurement system. The value set by the last function called will be used.

See also
measurementSystem(), locale(), setLocale()

Definition at line 244 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

Referenced by QDeclarativeGeoRouteModel::setMeasurementSystem().

+ Here is the caller graph for this function:

◆ supportedFeatureTypes()

QGeoRouteRequest::FeatureTypes QGeoRoutingManager::supportedFeatureTypes ( ) const

Returns the types of features that this manager can take into account during route planning.

Definition at line 174 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

◆ supportedFeatureWeights()

QGeoRouteRequest::FeatureWeights QGeoRoutingManager::supportedFeatureWeights ( ) const

Returns the weightings which this manager can apply to different features during route planning.

Definition at line 183 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

◆ supportedManeuverDetails()

QGeoRouteRequest::ManeuverDetails QGeoRoutingManager::supportedManeuverDetails ( ) const

Returns the levels of detail for navigation maneuvers which can be requested by this manager.

Definition at line 209 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

◆ supportedRouteOptimizations()

QGeoRouteRequest::RouteOptimizations QGeoRoutingManager::supportedRouteOptimizations ( ) const

Returns the route optimizations supported by this manager.

Definition at line 191 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

◆ supportedSegmentDetails()

QGeoRouteRequest::SegmentDetails QGeoRoutingManager::supportedSegmentDetails ( ) const

Returns the levels of detail for routing segments which can be requested with this manager.

Definition at line 200 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

◆ supportedTravelModes()

QGeoRouteRequest::TravelModes QGeoRoutingManager::supportedTravelModes ( ) const

Returns the travel modes supported by this manager.

Definition at line 165 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine.

◆ updateRoute()

QGeoRouteReply * QGeoRoutingManager::updateRoute ( const QGeoRoute & route,
const QGeoCoordinate & position )

Begins the process of updating route based on the current position position.

A QGeoRouteReply object will be returned, which can be used to manage the routing operation and to return the results of the operation.

This manager and the returned QGeoRouteReply object will emit signals indicating if the operation completes or if errors occur.

If supportsRouteUpdates() returns false an QGeoRouteReply::UnsupportedOptionError will occur.

Once the operation has completed, QGeoRouteReply::routes can be used to retrieve the updated route.

The returned route could be entirely different to the original route, especially if position is far away from the initial route. Otherwise the route will be similar, although the remaining time and distance will be updated and any segments of the original route which have been traversed will be removed.

The user is responsible for deleting the returned reply object, although this can be done in the slot connected to QGeoRoutingManager::finished(), QGeoRoutingManager::errorOccurred(), QGeoRouteReply::finished() or QGeoRouteReply::errorOccurred() with deleteLater().

Definition at line 157 of file qgeoroutingmanager.cpp.

References QGeoRoutingManagerPrivate::engine, and position().

+ Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ QGeoServiceProvider

friend class QGeoServiceProvider
friend

Definition at line 53 of file qgeoroutingmanager.h.

◆ QGeoServiceProviderPrivate

friend class QGeoServiceProviderPrivate
friend

Definition at line 54 of file qgeoroutingmanager.h.


The documentation for this class was generated from the following files: