Qt Location Plugin Open Street Map
Descripción general
Este complemento de servicios geográficos permite a las aplicaciones acceder a los servicios basados en la ubicación de Open Street Map mediante la API Qt Location.
Los datos, las imágenes y la información cartográfica proceden de ThunderForest, OpenStreetMap y otros colaboradores. Los datos están disponibles bajo la licencia Open Database License.
El plugin de servicios geográficos de Open Street Map puede cargarse utilizando la clave de plugin "osm".
Nota: Los tipos de mapas estándar se basan en proveedores de datos (parcialmente) gratuitos. Intentamos que la selección sea útil para fines de evaluación y desarrollo, pero es su responsabilidad seleccionar un proveedor de datos que se ajuste a sus necesidades en producción. Se recomienda encarecidamente leer atentamente y cumplir las condiciones de servicio de los respectivos proveedores. En la wiki de OpenStreetMap encontrará una lista de proveedores de datos alternativos. Los tipos de mapas disponibles que ofrece este complemento pueden cambiar (o eliminarse) sin previo aviso en función de la disponibilidad real de un proveedor viable y de libre acceso para cada tipo. Esto también implica que los proveedores que sirven mosaicos a través de HTTPS pueden ser utilizados. Esto se vuelve relevante cuando se utiliza el plugin OSM en plataformas, como Android, para las que el soporte SSL no está incorporado en Qt por defecto. Para evitar estos cambios, se debe utilizar un plugin de servicios geográficos diferente, o el parámetro del plugin osm.mapping.providersrepository. address se debe establecer en un repositorio especificado por el usuario, con el fin de tener un control total sobre la selección del proveedor que se utiliza para cada tipo de mapa. Desde Qt 5.9.6, el endpoint nominatim por defecto, utilizado para geocodificación y lugares, también ha cambiado a sólo HTTPS.
Parámetros
Parámetros opcionales
La siguiente tabla enumera los parámetros opcionales que se pueden pasar al complemento Open Street Map.
Nota: Desde Qt 5.5 todos los parámetros deben ir precedidos de osm. Las versiones anteriores no requerían prefijo.
| Parámetro | Descripción |
|---|---|
| osm.geocoding.host | Cadena de url establecida al realizar peticiones de red al servidor de geocodificación. Este parámetro debe establecerse a una url de servidor válida con la API OSM correcta. Si no se especifica se utilizará la url por defecto. Nota: La documentación de la API está disponible en Project OSM Nominatim. |
| osm.geocoding.debug_query | Ordena al plugin que inyecte la url de consulta a nominatim en la respuesta de geocodificación, con fines de depuración. |
| osm.geocoding.include_extended_data | Indica al complemento que incluya información específica de Nominatim (como geometría y clase) en los objetos Location devueltos, expuestos como extendedAttributes. |
| osm.mapping.cache.directory | Ruta absoluta al directorio de caché de mosaico de mapa utilizado como caché de disco de red. El lugar predeterminado para la caché es el subdirectorio |
| osm.mapping.cache.disk.cost_strategy | La estrategia de costes que se utilizará para almacenar en caché los mosaicos de mapa en el disco. Los valores válidos son bytesize y unitary. Usando bytesize, el parámetro de tamaño relacionado(osm.mapping.cache.disk.size) se interpretará como bytes. Usando unitary, se interpretarán como número de tiles. El valor por defecto de este parámetro es bytesize. |
| osm.mapping.cache.disk.size | Tamaño de la caché de disco para los mosaicos del mapa. El tamaño por defecto de la caché es de 50 MiB cuando bytesize es la estrategia de coste para esta caché, o 1000 tiles, cuando unitary es la estrategia de coste. |
| osm.mapping.cache.memory.cost_strategy | La estrategia de costes que se utilizará para almacenar en caché los mosaicos del mapa en la memoria. Los valores válidos son bytesize y unitary. Usando bytesize, el parámetro de tamaño relacionado(osm.mapping.cache.memory.size) se interpretará como bytes. Usando unitary, se interpretarán como número de tiles. El valor por defecto de este parámetro es bytesize. |
| osm.mapping.cache.memory.size | Tamaño de la caché de memoria para los mosaicos del mapa. El tamaño por defecto de la caché es de 3 MiB cuando bytesize es la estrategia de coste para esta caché, o 100 tiles, cuando unitary es la estrategia de coste. |
| osm.mapping.cache.texture.cost_strategy | La estrategia de coste a utilizar para almacenar en caché los mosaicos de mapa descomprimidos en memoria. Los valores válidos son bytesize y unitary. Usando bytesize, el parámetro de tamaño relacionado(osm.mapping.cache.texture.size) se interpretará como bytes. Usando unitary, se interpretarán como número de tiles. El valor por defecto de este parámetro es bytesize. |
| osm.mapping.cache.texture.size | Tamaño de la caché de texturas para los mosaicos del mapa. El tamaño por defecto de la caché es de 6 MiB cuando bytesize es la estrategia de coste para esta caché, o 30 tiles, cuando unitary es la estrategia de coste. Ten en cuenta que la caché de texturas tiene un tamaño mínimo que depende del tamaño de la ventana del mapa (debe contener datos suficientes para mostrar los mosaicos visibles en ese momento en la pantalla). Este valor es la cantidad de caché que se utilizará además del mínimo indispensable. |
| osm.mapping.custom.datacopyright | La cadena de derechos de autor de los datos personalizados se utiliza cuando se establece Map::activeMapType en MapType.CustomMap a través del parámetro urlprefix. Este copyright sólo se utilizará cuando se use el CustomMap de arriba. Si está vacía, no se mostrará ningún copyright de datos para el mapa personalizado. |
| osm.mapping.custom.host | La cadena url de un servidor de mosaicos personalizado. Este parámetro debe establecerse en una url de servidor válida que ofrezca la API OSM correcta. El postfix "%z/%x/%y.png" será añadido a la url. Desde 6.5 el postfix no será añadido si la url termina con ".png". Si el servidor requiere un apikey, hay que añadirlo a la cadena url. Para utilizar este servidor, el parámetro Map::activeMapType de Map debe establecerse en el tipo de mapa soportado cuyo tipo es MapType.CustomMap. Este tipo de mapa sólo estará disponible si se establece este parámetro del plugin, en cuyo caso siempre será Map::supportedMapTypes[supportedMapTypes.length - 1]. Nota: Si se establece el parámetro mapping.custom.host en un nuevo servidor, la caché de mosaicos de mapa quedará inutilizada para el antiguo estilo de mapa personalizado. |
| osm.mapping.custom.mapcopyright | La cadena de derechos de autor del mapa personalizado se utiliza cuando se establece el Map::activeMapType a MapType.CustomMap a través del parámetro urlprefix. Este copyright sólo se utilizará cuando se use el CustomMap de arriba. Si está vacía, no se mostrará ningún copyright del mapa personalizado. |
| osm.mapping.highdpi_tiles | Si se solicitan o no mosaicos de alta ppp. Los valores válidos son true y false. El valor por defecto es false. Tenga en cuenta que no todos los tipos de mapas están disponibles en alta ppp. Establecer este parámetro a true puede incluso no tener ningún efecto si ningún tipo de mapa está disponible en alta ppp en este momento. Los archivos de información del proveedor para los mosaicos de alta ppp se denominan street-hires, satellite-hires, cycle-hires, transit-hires, night-transit-hires, terrain-hires y hiking-hires. Estos archivos se obtienen de la misma ubicación utilizada para los archivos de ppp bajos. |
| osm.mapping.offline.directory | Ruta absoluta a un directorio que contiene mosaicos de mapas utilizados como almacenamiento sin conexión. Si se especifica, funcionará junto con la caché de disco de red, pero los mosaicos no se insertarán, eliminarán ni actualizarán automáticamente. El formato de los mosaicos es el mismo utilizado por la caché de disco de red. No hay valor por defecto, y si esta propiedad no está establecida, no se indexará ningún directorio y sólo se utilizará la caché de disco de red para reducir el uso de la red o para actuar como un almacenamiento fuera de línea para los mosaicos actualmente almacenados en caché. |
| osm.mapping.prefetching_style | Este parámetro permite indicar cómo debe realizar el motor la búsqueda previa de mosaicos. El valor por defecto, TwoNeighbourLayers, hace que el motor busque previamente los mosaicos de la capa superior y de la inferior a la capa de mosaicos actual, proporcionando mosaicos listos cuando se amplía o reduce el nivel de zoom actual. OneNeighbourLayer sólo busca previamente la capa más cercana al nivel de zoom actual. Por último, NoPrefetching permite desactivar la precarga, de modo que sólo se cargarán los mosaicos visibles. Tenga en cuenta que, dependiendo del tipo de mapa activo, esta sugerencia puede ser ignorada. |
| osm.mapping.providersrepository.address | El plugin de OpenStreetMap recupera la información del proveedor desde un repositorio remoto. Esto se hace para evitar el uso de servidores codificados por defecto, que pueden dejar de estar disponibles. Por defecto, esta información se obtiene de maps-redirect.qt.io. Al establecer este parámetro, la dirección del repositorio de proveedores cambia a una especificada por el usuario, que debe contener los archivos street, satellite, cycle, transit, night-transit, terrain y hiking, cada uno de los cuales debe contener información válida sobre el proveedor. |
| osm.mapping.providersrepository.disabled | Por defecto, el plugin de OpenStreetMap recupera la información del proveedor desde un repositorio remoto para evitar una pérdida de servicio debido a la no disponibilidad de los servicios hardcoded. El plugin, sin embargo, todavía contiene datos de proveedores hardcoded de reserva, en caso de que el repositorio de proveedores se vuelva inaccesible. Establecer este parámetro a true hace que el complemento utilice sólo las urls codificadas y, por lo tanto, evita que el complemento obtenga datos de proveedores del repositorio remoto. |
| osm.places.debug_query | Establece este parámetro a true para tener un atributo extendido en cada resultado llamado "requestUrl", y que contenga la url utilizada para la consulta. Por defecto es false. |
| osm.places.host | Cadena de url establecida cuando se realizan peticiones de red al servidor de lugares. Este parámetro debe establecerse en una url de servidor válida con la API OSM correcta. Si no se especifica se usará la url por defecto. Nota: La documentación de la API está disponible en Project OSM Nominatim. |
| osm.lugares.tamaño_página | La cantidad de resultados en una página. Tenga en cuenta que este valor puede estar limitado por el servidor. El máximo típico en instancias nominatim estándar es 50. |
| osm.routing.apiversion | Cadena que define la versión api del servidor OSRM (personalizado). Los valores válidos son v4 y v5. El valor por defecto es v5. Este parámetro debe establecerse sólo si osm.routing.host está establecido, y es un servidor OSRM v4. |
| osm.enrutamiento.host | Cadena de url establecida cuando se hacen peticiones de red al servidor de enrutamiento. Este parámetro debe establecerse en una url de servidor válida con la API OSRM correcta. Si no se especifica se utilizará la url por defecto. Nota: La documentación de la API y las fuentes están disponibles en el Proyecto OSRM. |
| osm.useragent | Cadena de agente de usuario establecida cuando se hacen peticiones de red. Este parámetro debe tener un valor que identifique la aplicación. Ten en cuenta que los proveedores pueden bloquear las aplicaciones que no configuren este parámetro, dejándoselo al agente de usuario del plugin (por ejemplo, Nominatim para geocodificación). |
Ejemplo de uso de parámetros
El siguiente ejemplo muestra cómo crear una instancia de plugin OSM con parámetros suministrados para un useragent, y si es necesario, una url de servidor personalizada más la correspondiente información de copyright para el proveedor de tiles. Adicionalmente, es posible elegir otro servidor de enrutamiento que no sea el público de osrm.
QML
Plugin {
name: "osm"
PluginParameter { name: "osm.useragent"; value: "My great Qt OSM application" }
PluginParameter { name: "osm.mapping.host"; value: "http://osm.tile.server.address/" }
PluginParameter { name: "osm.mapping.copyright"; value: "All mine" }
PluginParameter { name: "osm.routing.host"; value: "http://osrm.server.address/viaroute" }
PluginParameter { name: "osm.geocoding.host"; value: "http://geocoding.server.address" }
}Otra información específica del plugin
Caché de mosaicos
Los mosaicos se almacenan en caché en un directorio QtLocation/osm en QStandardPaths::writableLocation (QStandardPaths::GenericCacheLocation). En los sistemas que no tienen el concepto de caché compartida, se utiliza en su lugar el directorio QStandardPaths::CacheLocation específico de la aplicación.
© 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.