- class QGeoCodingManagerEngine¶
The
QGeoCodingManagerEngine
class provides an interface and convenience methods to implementers ofQGeoServiceProvider
plugins who want to provide support for geocoding operations. More…Synopsis¶
Methods¶
def
__init__()
def
locale()
def
managerName()
def
managerVersion()
def
setLocale()
Virtual methods¶
def
geocode()
def
reverseGeocode()
Signals¶
def
errorOccurred()
def
finished()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description¶
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.)
In the default implementation, supportsGeocoding() and supportsReverseGeocoding() returns false while
geocode()
andreverseGeocode()
causeUnsupportedOptionError
to occur.If the service provider supports geocoding the subclass should provide an implementation of
geocode()
and call setSupportsGeocoding(true) at some point in time beforegeocode()
is called.Similarly, if the service provider supports reverse geocoding the subclass should provide an implementation
reverseGeocode()
and call setSupportsReverseGeocoding(true) at some point in time beforereverseGeocode()
is called.A subclass of
QGeoCodingManagerEngine
will often make use of a subclass foQGeoCodeReply
internally, in order to add any engine-specific data (such as a QNetworkReply object for network-based services) to theQGeoCodeReply
instances used by the engine.See also
- __init__(parameters[, parent=None])¶
- Parameters:
parameters – Dictionary with keys of type .QString and values of type QVariant.
parent –
QObject
Constructs a new engine with the specified
parent
, usingparameters
to pass any implementation specific data to the engine.- errorOccurred(reply, error[, errorString=""])¶
- Parameters:
reply –
QGeoCodeReply
error –
Error
errorString – str
This signal is emitted when an error has been detected in the processing of
reply
. Thefinished()
signal will probably follow.The error will be described by the error code
error
. IferrorString
is not empty it will contain a textual description of the error.This signal and
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(reply)¶
- Parameters:
reply –
QGeoCodeReply
This signal is emitted when
reply
has finished processing.If reply::error() equals
NoError
then the processing finished successfully.This signal and
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.- geocode(address, bounds)¶
- Parameters:
address –
QGeoAddress
bounds –
QGeoShape
- Return type:
Begins the geocoding of
address
. Geocoding is the process of finding a coordinate that corresponds to a given address.A
QGeoCodeReply
object will be returned, which can be used to manage the geocoding operation and to return the results of the operation.This engine and the returned
QGeoCodeReply
object will emit signals indicating if the operation completes or if errors occur.If supportsGeocoding() returns false an
UnsupportedOptionError
will occur.Once the operation has completed,
locations()
can be used to retrieve the results, which will consist of a list of QGeoLocation objects. These objects represent a combination of coordinate and address data.The address data returned in the results may be different from
address
. This will usually occur if the geocoding service backend uses a different canonical form of addresses or ifaddress
was only partially filled out.If
bounds
is non-null and a valid QGeoShape it will be used to limit the results to those that are contained bybounds
. This is particularly useful ifaddress
is only partially filled out, as the service will attempt to geocode all matches for the specified data.The user is responsible for deleting the returned reply object, although this can be done in the slot connected to
finished()
,errorOccurred()
,finished()
orerrorOccurred()
with deleteLater().- geocode(address, limit, offset, bounds)
- Parameters:
address – str
limit – int
offset – int
bounds –
QGeoShape
- Return type:
Begins geocoding for a location matching
address
.A
QGeoCodeReply
object will be returned, which can be used to manage the geocoding operation and to return the results of the operation.This engine and the returned
QGeoCodeReply
object will emit signals indicating if the operation completes or if errors occur.Once the operation has completed,
locations()
can be used to retrieve the results, which will consist of a list of QGeoLocation objects. These objects represent a combination of coordinate and address data.If
limit
is -1 the entire result set will be returned, otherwise at mostlimit
results will be returned.The
offset
parameter is used to ask the geocoding service to not return the firstoffset
results.The
limit
andoffset
results are used together to implement paging.If
bounds
is non-null and a valid QGeoShape it will be used to limit the results to those that are contained bybounds
.The user is responsible for deleting the returned reply object, although this can be done in the slot connected to
finished()
,errorOccurred()
,finished()
orerrorOccurred()
with deleteLater().Returns the locale used to hint to this geocoding manager about what language to use for the results.
See also
- managerName()¶
- Return type:
str
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.- managerVersion()¶
- Return type:
int
Returns the version of this engine implementation.
The combination of
managerName()
and managerVersion() should be unique amongst plugin implementations.- reverseGeocode(coordinate, bounds)¶
- Parameters:
coordinate –
QGeoCoordinate
bounds –
QGeoShape
- Return type:
Begins the reverse geocoding of
coordinate
. Reverse geocoding is the process of finding an address that corresponds to a given coordinate.A
QGeoCodeReply
object will be returned, which can be used to manage the reverse geocoding operation and to return the results of the operation.This engine and the returned
QGeoCodeReply
object will emit signals indicating if the operation completes or if errors occur.If supportsReverseGeocoding() returns false an
UnsupportedOptionError
will occur.At that point
locations()
can be used to retrieve the results, which will consist of a list of QGeoLocation objects. These objects represent a combination of coordinate and address data.The coordinate data returned in the results may be different from
coordinate
. This will usually occur if the reverse geocoding service backend shifts the coordinates to be closer to the matching addresses, or if the backend returns results at multiple levels of detail.If multiple results are returned by the reverse geocoding service backend they will be provided in order of specificity. This normally occurs if the backend is configured to reverse geocode across multiple levels of detail. As an example, some services will return address and coordinate pairs for the street address, the city, the state and the country.
If
bounds
is non-null and a valid QGeoShape it will be used to limit the results to those that are contained bybounds
.The user is responsible for deleting the returned reply object, although this can be done in the slot connected to
finished()
,errorOccurred()
,finished()
orerrorOccurred()
with deleteLater().Sets the locale to be used by this manager to
locale
.If this geocoding manager supports returning the results 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.
See also