Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QGeoRoutingManagerEngine Class Referenceabstract

\inmodule QtLocation More...

#include <qgeoroutingmanagerengine.h>

+ Inheritance diagram for QGeoRoutingManagerEngine:
+ Collaboration diagram for QGeoRoutingManagerEngine:

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

 QGeoRoutingManagerEngine (const QVariantMap &parameters, QObject *parent=nullptr)
 Constructs a new engine with the specified parent, using parameters to pass any implementation specific data to the engine.
 
virtual ~QGeoRoutingManagerEngine ()
 Destroys this engine.
 
QString managerName () const
 Returns the name which this engine implementation uses to distinguish itself from the implementations provided by other plugins.
 
int managerVersion () const
 Returns the version of this engine implementation.
 
virtual QGeoRouteReplycalculateRoute (const QGeoRouteRequest &request)=0
 Begins the calculation of the route specified by request.
 
virtual 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 engine.
 
QGeoRouteRequest::FeatureTypes supportedFeatureTypes () const
 Returns the types of features that this engine can take into account during route planning.
 
QGeoRouteRequest::FeatureWeights supportedFeatureWeights () const
 Returns the weightings which this engine can apply to different features during route planning.
 
QGeoRouteRequest::RouteOptimizations supportedRouteOptimizations () const
 Returns the route optimizations supported by this engine.
 
QGeoRouteRequest::SegmentDetails supportedSegmentDetails () const
 Returns the levels of detail for routing segments which can be requested by this engine.
 
QGeoRouteRequest::ManeuverDetails supportedManeuverDetails () const
 Returns the levels of detail for navigation maneuvers which can be requested by this engine.
 
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.
 

Protected Member Functions

void setSupportedTravelModes (QGeoRouteRequest::TravelModes travelModes)
 Sets the travel modes supported by this engine to travelModes.
 
void setSupportedFeatureTypes (QGeoRouteRequest::FeatureTypes featureTypes)
 Sets the types of features that this engine can take into account during route planning to featureTypes.
 
void setSupportedFeatureWeights (QGeoRouteRequest::FeatureWeights featureWeights)
 Sets the weightings which this engine can apply to different features during route planning to featureWeights.
 
void setSupportedRouteOptimizations (QGeoRouteRequest::RouteOptimizations optimizations)
 Sets the route optimizations supported by this engine to optimizations.
 
void setSupportedSegmentDetails (QGeoRouteRequest::SegmentDetails segmentDetails)
 Sets the levels of detail for routing segments which can be requested by this engine to segmentDetails.
 
void setSupportedManeuverDetails (QGeoRouteRequest::ManeuverDetails maneuverDetails)
 Sets the levels of detail for navigation maneuvers which can be requested by this engine to maneuverDetails.
 
- 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)
 

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 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 QGeoRoutingManagerEngine class provides an interface and convenience methods to implementers of QGeoServiceProvider plugins who want to provide access to geographic routing information.

Note
There are no source or binary compatibility guarantees for the backend classes. The API is only guaranteed to work with the Qt version it was developed against. API changes will however only be made in minor releases. (6.6, 6.7, and so on.)

Subclasses of QGeoRoutingManagerEngine need to provide an implementation of calculateRoute().

In the default implementation, supportsRouteUpdates() returns false and updateRoute() returns a QGeoRouteReply object containing a QGeoRouteReply::UnsupportedOptionError.

If the routing service supports updating routes as they are being traveled, the subclass should provide an implementation of updateRoute() and call setSupportsRouteUpdates(true) at some point in time before updateRoute() is called.

The function setSupportsRouteUpdates() is one of several functions which configure the reported capabilities of the engine. If the capabilities of an engine differ from the default values these functions should be used so that the reported capabilities are accurate.

It is important that this is done before calculateRoute(), updateRoute() or any of the capability reporting functions are used to prevent incorrect or inconsistent behavior.

A subclass of QGeoRouteManagerEngine will often make use of a subclass fo QGeoRouteReply internally, in order to add any engine-specific data (such as a QNetworkReply object for network-based services) to the QGeoRouteReply instances used by the engine.

See also
QGeoRoutingManager

Definition at line 17 of file qgeoroutingmanagerengine.h.

Constructor & Destructor Documentation

◆ QGeoRoutingManagerEngine()

QGeoRoutingManagerEngine::QGeoRoutingManagerEngine ( const QVariantMap & parameters,
QObject * parent = nullptr )
explicit

Constructs a new engine with the specified parent, using parameters to pass any implementation specific data to the engine.

Definition at line 57 of file qgeoroutingmanagerengine.cpp.

◆ ~QGeoRoutingManagerEngine()

QGeoRoutingManagerEngine::~QGeoRoutingManagerEngine ( )
virtual

Destroys this engine.

Definition at line 67 of file qgeoroutingmanagerengine.cpp.

Member Function Documentation

◆ calculateRoute()

virtual QGeoRouteReply * QGeoRoutingManagerEngine::calculateRoute ( const QGeoRouteRequest & request)
pure virtual

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 engine 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 engine, as reported by the methods in this engine, 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 QGeoRoutingManagerEngine::finished(), QGeoRoutingManagerEngine::errorOccurred(), QGeoRouteReply::finished() or QGeoRouteReply::errorOccurred() with deleteLater().

Implemented in GeoRoutingManagerEngineEsri, QGeoRoutingManagerEngineMapbox, QGeoRoutingManagerEngineNokia, and QGeoRoutingManagerEngineOsm.

◆ errorOccurred

void QGeoRoutingManagerEngine::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 QGeoRoutingManagerEngine::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.

◆ finished

void QGeoRoutingManagerEngine::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.

◆ locale()

QLocale QGeoRoutingManagerEngine::locale ( ) const

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

Definition at line 324 of file qgeoroutingmanagerengine.cpp.

◆ managerName()

QString QGeoRoutingManagerEngine::managerName ( ) const

Returns the name which this engine implementation uses to distinguish itself from the implementations provided by other plugins.

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

Definition at line 91 of file qgeoroutingmanagerengine.cpp.

◆ managerVersion()

int QGeoRoutingManagerEngine::managerVersion ( ) const

Returns the version of this engine implementation.

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

Definition at line 113 of file qgeoroutingmanagerengine.cpp.

◆ measurementSystem()

QLocale::MeasurementSystem QGeoRoutingManagerEngine::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 351 of file qgeoroutingmanagerengine.cpp.

◆ setLocale()

void QGeoRoutingManagerEngine::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 314 of file qgeoroutingmanagerengine.cpp.

◆ setMeasurementSystem()

void QGeoRoutingManagerEngine::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 337 of file qgeoroutingmanagerengine.cpp.

◆ setSupportedFeatureTypes()

void QGeoRoutingManagerEngine::setSupportedFeatureTypes ( QGeoRouteRequest::FeatureTypes featureTypes)
protected

Sets the types of features that this engine can take into account during route planning to featureTypes.

It is important that subclasses use this method to ensure that the engine reports its capabilities correctly. If this function is not used the engine will report that it supports no feature types at all.

Definition at line 205 of file qgeoroutingmanagerengine.cpp.

◆ setSupportedFeatureWeights()

void QGeoRoutingManagerEngine::setSupportedFeatureWeights ( QGeoRouteRequest::FeatureWeights featureWeights)
protected

Sets the weightings which this engine can apply to different features during route planning to featureWeights.

It is important that subclasses use this method to ensure that the engine reports its capabilities correctly. If this function is not used the engine will report that it supports no feature weights at all.

Definition at line 227 of file qgeoroutingmanagerengine.cpp.

◆ setSupportedManeuverDetails()

void QGeoRoutingManagerEngine::setSupportedManeuverDetails ( QGeoRouteRequest::ManeuverDetails maneuverDetails)
protected

Sets the levels of detail for navigation maneuvers which can be requested by this engine to maneuverDetails.

It is important that subclasses use this method to ensure that the engine reports its capabilities correctly. If this function is not used the engine will report that it supports no maneuver details at all.

Definition at line 292 of file qgeoroutingmanagerengine.cpp.

◆ setSupportedRouteOptimizations()

void QGeoRoutingManagerEngine::setSupportedRouteOptimizations ( QGeoRouteRequest::RouteOptimizations optimizations)
protected

Sets the route optimizations supported by this engine to optimizations.

It is important that subclasses use this method to ensure that the engine reports its capabilities correctly. If this function is not used the engine will report that it supports no route optimizations at all.

Definition at line 249 of file qgeoroutingmanagerengine.cpp.

◆ setSupportedSegmentDetails()

void QGeoRoutingManagerEngine::setSupportedSegmentDetails ( QGeoRouteRequest::SegmentDetails segmentDetails)
protected

Sets the levels of detail for routing segments which can be requested by this engine to segmentDetails.

It is important that subclasses use this method to ensure that the engine reports its capabilities correctly. If this function is not used the engine will report that it supports no segment detail at all.

Definition at line 270 of file qgeoroutingmanagerengine.cpp.

◆ setSupportedTravelModes()

void QGeoRoutingManagerEngine::setSupportedTravelModes ( QGeoRouteRequest::TravelModes travelModes)
protected

Sets the travel modes supported by this engine to travelModes.

It is important that subclasses use this method to ensure that the engine reports its capabilities correctly. If this function is not used the engine will report that it supports no travel modes at all.

Definition at line 184 of file qgeoroutingmanagerengine.cpp.

◆ supportedFeatureTypes()

QGeoRouteRequest::FeatureTypes QGeoRoutingManagerEngine::supportedFeatureTypes ( ) const

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

Definition at line 214 of file qgeoroutingmanagerengine.cpp.

◆ supportedFeatureWeights()

QGeoRouteRequest::FeatureWeights QGeoRoutingManagerEngine::supportedFeatureWeights ( ) const

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

Definition at line 237 of file qgeoroutingmanagerengine.cpp.

◆ supportedManeuverDetails()

QGeoRouteRequest::ManeuverDetails QGeoRoutingManagerEngine::supportedManeuverDetails ( ) const

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

Definition at line 301 of file qgeoroutingmanagerengine.cpp.

◆ supportedRouteOptimizations()

QGeoRouteRequest::RouteOptimizations QGeoRoutingManagerEngine::supportedRouteOptimizations ( ) const

Returns the route optimizations supported by this engine.

Definition at line 257 of file qgeoroutingmanagerengine.cpp.

◆ supportedSegmentDetails()

QGeoRouteRequest::SegmentDetails QGeoRoutingManagerEngine::supportedSegmentDetails ( ) const

Returns the levels of detail for routing segments which can be requested by this engine.

Definition at line 279 of file qgeoroutingmanagerengine.cpp.

◆ supportedTravelModes()

QGeoRouteRequest::TravelModes QGeoRoutingManagerEngine::supportedTravelModes ( ) const

Returns the travel modes supported by this engine.

Definition at line 192 of file qgeoroutingmanagerengine.cpp.

◆ updateRoute()

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

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 engine 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 enough 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 QGeoRoutingManagerEngine::finished(), QGeoRoutingManagerEngine::errorOccurred(), QGeoRouteReply::finished() or QGeoRouteReply::errorOccurred() with deleteLater().

Reimplemented in QGeoRoutingManagerEngineNokia.

Definition at line 169 of file qgeoroutingmanagerengine.cpp.

Friends And Related Symbol Documentation

◆ QGeoServiceProvider

friend class QGeoServiceProvider
friend

Definition at line 62 of file qgeoroutingmanagerengine.h.

◆ QGeoServiceProviderPrivate

friend class QGeoServiceProviderPrivate
friend

Definition at line 63 of file qgeoroutingmanagerengine.h.


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