QGeoCodingManagerEngine Class
La clase QGeoCodingManagerEngine proporciona una interfaz y métodos de conveniencia a los implementadores de plugins QGeoServiceProvider que quieren proporcionar soporte para operaciones de geocodificación. Más...
| Header: | #include <QGeoCodingManagerEngine> |
| qmake: | QT += location |
| Inherits: | QObject |
Funciones públicas
| QGeoCodingManagerEngine(const QVariantMap ¶meters, QObject *parent = nullptr) | |
| virtual | ~QGeoCodingManagerEngine() |
| virtual QGeoCodeReply * | geocode(const QGeoAddress &address, const QGeoShape &bounds) |
| virtual QGeoCodeReply * | geocode(const QString &address, int limit, int offset, const QGeoShape &bounds) |
| QLocale | locale() const |
| QString | managerName() const |
| int | managerVersion() const |
| virtual QGeoCodeReply * | reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds) |
| void | setLocale(const QLocale &locale) |
Señales
| void | errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString()) |
| void | finished(QGeoCodeReply *reply) |
Descripción detallada
Nota: No existen garantías de compatibilidad binaria o de código fuente para las clases del backend. Sólo se garantiza que la API funcione con la versión de Qt con la que se desarrolló. Sin embargo, los cambios en la API sólo se realizarán en versiones menores. (6.6, 6.7, etc.)
En la implementación por defecto, supportsGeocoding() y supportsReverseGeocoding() devuelven false mientras que geocode() y reverseGeocode() hacen que se produzca QGeoCodeReply::UnsupportedOptionError.
Si el proveedor de servicios admite la geocodificación, la subclase debe proporcionar una implementación de geocode() y llamar a setSupportsGeocoding(true) en algún momento antes de llamar a geocode().
Del mismo modo, si el proveedor de servicios admite la geocodificación inversa, la subclase debe proporcionar una implementación de reverseGeocode() y llamar a setSupportsReverseGeocoding(true) en algún momento antes de llamar a reverseGeocode().
Una subclase de QGeoCodingManagerEngine a menudo hará uso de una subclase de QGeoCodeReply internamente, para añadir cualquier dato específico del motor (como un objeto QNetworkReply para servicios basados en red) a las instancias QGeoCodeReply utilizadas por el motor.
Véase también QGeoCodingManager.
Documentación de funciones miembro
[explicit] QGeoCodingManagerEngine::QGeoCodingManagerEngine(const QVariantMap ¶meters, QObject *parent = nullptr)
Construye un nuevo motor con la dirección parent especificada, utilizando parameters para pasar cualquier dato específico de la implementación al motor.
[virtual noexcept] QGeoCodingManagerEngine::~QGeoCodingManagerEngine()
Destruye este motor.
[signal] void QGeoCodingManagerEngine::errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString())
Esta señal se emite cuando se ha detectado un error en el procesamiento de reply. Probablemente le seguirá la señal QGeoCodingManagerEngine::finished() .
El error se describirá mediante el código de error error. Si errorString no está vacío, contendrá una descripción textual del error.
Esta señal y QGeoCodeReply::errorOccurred() se emitirán al mismo tiempo.
Nota: No elimine el objeto reply de la ranura conectada a esta señal. Utilice deleteLater() en su lugar.
[signal] void QGeoCodingManagerEngine::finished(QGeoCodeReply *reply)
Esta señal se emite cuando reply ha finalizado el procesamiento.
Si reply::error() es igual a QGeoCodeReply::NoError entonces el procesamiento ha finalizado correctamente.
Esta señal y QGeoCodeReply::finished() se emitirán al mismo tiempo.
Nota: No elimine el objeto reply en la ranura conectada a esta señal. Utilice deleteLater() en su lugar.
[virtual] QGeoCodeReply *QGeoCodingManagerEngine::geocode(const QGeoAddress &address, const QGeoShape &bounds)
Inicia la geocodificación de address. La geocodificación es el proceso de encontrar una coordenada que corresponda a una dirección dada.
Se devolverá un objeto QGeoCodeReply, que puede utilizarse para gestionar la operación de geocodificación y para devolver los resultados de la operación.
Este motor y el objeto QGeoCodeReply devuelto emitirán señales indicando si la operación se completa o si se producen errores.
Si supportsGeocoding() devuelve false se producirá un QGeoCodeReply::UnsupportedOptionError.
Una vez completada la operación, se puede utilizar QGeoCodeReply::locations() para recuperar los resultados, que consistirán en una lista de objetos QGeoLocation. Estos objetos representan una combinación de datos de coordenadas y direcciones.
Los datos de dirección devueltos en los resultados pueden ser diferentes de address. Esto ocurrirá normalmente si el backend del servicio de geocodificación utiliza una forma canónica de direcciones diferente o si address sólo se rellenó parcialmente.
Si bounds no es nulo y es un QGeoShape válido, se utilizará para limitar los resultados a los contenidos en bounds. Esto es especialmente útil si address sólo se ha rellenado parcialmente, ya que el servicio intentará geocodificar todas las coincidencias de los datos especificados.
El usuario es responsable de borrar el objeto de respuesta devuelto, aunque esto puede hacerse en la ranura conectada a QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() o QGeoCodeReply::errorOccurred() con deleteLater().
[virtual] QGeoCodeReply *QGeoCodingManagerEngine::geocode(const QString &address, int limit, int offset, const QGeoShape &bounds)
Inicia la geocodificación de una ubicación que coincide con address.
Se devolverá un objeto QGeoCodeReply, que puede utilizarse para gestionar la operación de geocodificación y para devolver los resultados de la operación.
Este motor y el objeto QGeoCodeReply devuelto emitirán señales indicando si la operación se completa o si se producen errores.
Una vez completada la operación, se puede utilizar QGeoCodeReply::locations() para recuperar los resultados, que consistirán en una lista de objetos QGeoLocation. Estos objetos representan una combinación de datos de coordenadas y direcciones.
Si limit es -1 se devolverá todo el conjunto de resultados, en caso contrario se devolverá como máximo limit resultados.
El parámetro offset se utiliza para solicitar al servicio de geocodificación que no devuelva los primeros resultados de offset.
Los resultados limit y offset se utilizan conjuntamente para implementar la paginación.
Si bounds no es nulo y es un QGeoShape válido, se utilizará para limitar los resultados a los contenidos en bounds.
El usuario es responsable de borrar el objeto de respuesta devuelto, aunque esto puede hacerse en la ranura conectada a QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() o QGeoCodeReply::errorOccurred() con deleteLater().
QLocale QGeoCodingManagerEngine::locale() const
Devuelve la configuración regional utilizada para indicar a este gestor de geocodificación qué idioma utilizar para los resultados.
Véase también setLocale().
QString QGeoCodingManagerEngine::managerName() const
Devuelve el nombre que esta implementación de motor utiliza para distinguirse de las implementaciones proporcionadas por otros plugins.
La combinación de managerName() y managerVersion() debe ser única entre las implementaciones de plugins.
int QGeoCodingManagerEngine::managerVersion() const
Devuelve la versión de la implementación de este motor.
La combinación de managerName() y managerVersion() debe ser única entre las implementaciones de plugins.
[virtual] QGeoCodeReply *QGeoCodingManagerEngine::reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds)
Comienza la geocodificación inversa de coordinate. La geocodificación inversa es el proceso de encontrar una dirección que corresponda a una coordenada dada.
Se devolverá un objeto QGeoCodeReply, que puede utilizarse para gestionar la operación de geocodificación inversa y para devolver los resultados de la operación.
Este motor y el objeto QGeoCodeReply devuelto emitirán señales indicando si la operación se completa o si se producen errores.
Si supportsReverseGeocoding() devuelve false se producirá un QGeoCodeReply::UnsupportedOptionError.
En ese momento se puede utilizar QGeoCodeReply::locations() para recuperar los resultados, que consistirán en una lista de objetos QGeoLocation. Estos objetos representan una combinación de datos de coordenadas y direcciones.
Los datos de coordenadas devueltos en los resultados pueden ser diferentes de los de coordinate. Esto suele ocurrir si el backend del servicio de geocodificación inversa desplaza las coordenadas para que estén más cerca de las direcciones coincidentes, o si el backend devuelve resultados con varios niveles de detalle.
Si el backend del servicio de geocodificación inversa devuelve varios resultados, se proporcionarán por orden de especificidad. Esto ocurre normalmente si el backend está configurado para geocodificar inversamente a través de múltiples niveles de detalle. Por ejemplo, algunos servicios devolverán pares de direcciones y coordenadas para la dirección, la ciudad, el estado y el país.
Si bounds no es nulo y es un QGeoShape válido, se utilizará para limitar los resultados a los contenidos en bounds.
El usuario es responsable de borrar el objeto de respuesta devuelto, aunque esto puede hacerse en la ranura conectada a QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() o QGeoCodeReply::errorOccurred() con deleteLater().
void QGeoCodingManagerEngine::setLocale(const QLocale &locale)
Establece la configuración regional que utilizará este gestor en locale.
Si este gestor de geocodificación admite la devolución de los resultados en diferentes idiomas, se devolverán en el idioma de locale.
Si no se establece, la configuración regional utilizada será por defecto la del sistema.
Véase también locale().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.