This page provides some details on how to switch from using Google Maps to OpenStreetMap. The OpenStreetMap is a mature open source project that provides comparable APIs to those provided by Google. The coverage of these maps is usually quite good. The usage of these APIs is free and is expected to remain free for the foreseeable future.

Static Maps

The static maps can be created using the staticmaplite project (see for more details). It is possible to host service at your server, use the server



or the variant hosted by UniTime.



If you have SSL/HTTPS configured, you may need to use the https version of the map service



Use UniTime to construct static maps and cache the map tiles (new in UniTime 4.4, using unitime.coordinates.leafletmap.tilesUrl to download the map tiles)



Dynamic Maps

For the dynamic maps, UniTime is using the Leaflet JS library, which is very lightweight but allows to use another base map if needed (including MapQuest, MapBox, and many others). To switch from Google Maps to Leaflet maps, change the following properties (e.g., using the Application Configuration page)



You can change the map tiles using the following two properties (the table shows their defaults):

# Laflet maps tiles url template


# Laflet maps tiles attribution


&copy; <a href=\"\">OpenStreetMap</a> contributors

For more details about Leaflet JS, see Different map tiles can be explored at


Nominatim is used for geocoding. This is used to allow for the address of the room or building to be entered on the map (geocoding) and to show the address of the selected coordinates on the map (reverse geocoding). The service can be configured using the following properties:

# OpenSearchMap geocoding service URL (search, see

# OpenSearchMap geocoding service URL (reverse geocoding, see


For more details, see

The Nominatim service is using the Let's Encrypt certificate. When you are using an older version of Java, you may need to import the certificate in order to avoid certificate issues during geocoding.

curl >lets-encrypt-x3-cross-signed.pem

keytool -import -noprompt -trustcacerts -alias lets-encrypt-x3-cross-signed -file lets-encrypt-x3-cross-signed.pem \

-keystore cacerts -storepass changeit

keytool -list -v -keystore cacerts -storepass changeit -alias lets-encrypt-x3-cross-signed