Maps

The Map add-on provides the GeoMap component and functionalities that enable developers to integrate interactive maps and geospatial features into their web applications.

overview map

Overview

The add-on helps you to enrich your application with visual representation and intuitive manipulation for spatial data. You can use a preferable map provider that meets your needs.

The add-on is based on the OpenLayers JavaScript library (8.2.0 version). By default, all API works with CRS - EPSG:4326.

The component integrates spatial types (point, polyline, polygon) from JTS Topology Suite (JTS) — the most popular Java library for working with spatial data.

The Maps add-on supports a traditional multi-layer structure commonly used in professional GIS systems. The layers are represented as structural units of maps.

map overview

Features

Browse these sections for core features of the Maps add-on:

  • Layers. The add-on supports the following types of layers:

  • Markers are map elements to visually represent a specific location or point.

  • Map View. The Map add-on allows configuration of the map view, including center coordinates, zoom level, rotation angle, and projection definition.

  • Events. Maps emit events that developers can listen for, enabling the customization of map behavior based on user interactions, such as map click events or feature click events.

  • Style. The Map add-on provides the capability to customize marker icons and create new styles for various map features such as polygons, points, etc.

Installation

This add-on requires the Enterprise subscription. If you don’t have the subscription, see the Enterprise Trial section for how to get a trial version.

For automatic installation through Jmix Marketplace, follow instructions in the Add-ons section.

For manual installation, follow the steps below.

  1. Configure access to the premium repository.

    • Add the premium repository to your build.gradle:

      repositories {
          // ...
          maven {
              url = 'https://global.repo.jmix.io/repository/premium'
              credentials {
                  username = rootProject['premiumRepoUser']
                  password = rootProject['premiumRepoPass']
              }
          }
      }
    • Add premium repository credentials to ~/.gradle/gradle.properties:

      premiumRepoUser=123456123456
      premiumRepoPass=abcdefabcdef

      Get the repository credentials from your license key: the first part of the key before dash is the repository user name, the part after dash is the password. For example, if your key is 123456123456-abcdefabcdef, then the user name is 123456123456 and the password is abcdefabcdef.

  2. Add dependencies to your build.gradle:

    implementation 'io.jmix.maps:jmix-maps-starter'
    implementation 'io.jmix.maps:jmix-maps-flowui-starter'