Qt Location Open Street Map Plugin

Overview

This geo services plugin allows applications to access Open Street Map location based services using the Qt Location API.

Data, imagery and map information provided by MapQuest, ThunderForest, OpenStreetMap and contributors. The data is available under the Open Database License.

The Open Street Map geo services plugin can be loaded by using the plugin key "osm".

Parameters

Optional parameters

The following table lists optional parameters that can be passed to the Open Street Map plugin.

Note: Since Qt 5.5 all parameters below must be prefixed with osm. Previous versions did not require a prefix.

ParameterDescription
osm.useragentUser agent string set when making network requests. This parameter should be set to a value that uniquely identifies the application.
osm.mapping.hostUrl string set when making network requests to the tile server. This parameter should be set to a valid server url with the correct osm api and the Map::activeMapType to the corresponding MapType.CustomMap. The CustomMap will only be available if this parameter is set.

Note: Setting the mapping.host parameter to a new server renders the map tile cache useless for the old custommap style.

osm.mapping.copyrightCustom copryright string is used when setting the Map::activeMapType to MapType.CustomMap via urlprefix parameter. This copyright will only be used when using the CustomMap from above. If empty no copyright will be displayed for the custom map.
osm.routing.hostUrl string set when making network requests to the routing server. This parameter should be set to a valid server url with the correct osrm API. If not specified the default url will be used.

Note: The API documentation and sources are available at Project OSRM.

osm.geocoding.hostUrl string set when making network requests to the geocoding server. This parameter should be set to a valid server url with the correct osm API. If not specified the default url will be used.

Note: The API documentation is available at Project OSM Nominatim.

osm.places.hostUrl string set when making network requests to the places server. This parameter should be set to a valid server url with the correct osm API. If not specified the default url will be used.

Note: The API documentation is available at Project OSM Nominatim.

Parameter Usage Example

The following example shows how to create an OSM plugin instance with parameters supplied for an useragent, and if necessary, a custom server url plus the corresponding copyright information for the tile provider. Additionally, it is possible to choose another routing server than the public osrm one.

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" }
}

Other Plugin-specific Information

Tile cache

The tiles are cached in a QtLocation/osm directory in QStandardPaths::writableLocation (QStandardPaths::GenericCacheLocation). On systems that have no concept of a shared cache, the application-specific QStandardPaths::CacheLocation is used instead.

© 2016 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.