Class Map

  • All Implemented Interfaces:
    com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.HasElement, com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasTheme, Serializable

    @Tag("vaadin-map")
    @NpmPackage(value="@vaadin/map",
                version="23.1.3")
    @JsModule("@vaadin/map/src/vaadin-map.js") @JsModule("./vaadin-map/mapConnector.js")
    public class Map
    extends MapBase
    Map is a component for displaying geographic maps from various sources. It supports multiple layers, tiled and full image sources, adding markers, and interaction through events.

    Each map consists of one or more Layers that display geographical data. Each layer has a Source that provides that data. The Map component provides several types of layers (for example TileLayer, VectorLayer, ImageLayer), as well as several types of sources that can be used with each type of layer (for example OSMSource, XYZSource, VectorSource).

    The map component comes pre-configured with a background layer, which by default is a TileLayer using an OSMSource, which means that it displays tiled image data from the OpenStreeMap service. The background layer of the map can be replaced using setBackgroundLayer(Layer). The component is also pre-configured with a FeatureLayer, accessible with getFeatureLayer(), that allows to quickly display geographical features, such as markers (see MarkerFeature), on top of a map. Custom layers can be added or removed using addLayer(Layer) and removeLayer(Layer).

    The viewport of the map is controlled through a View, which allows setting the center, zoom level and rotation. The map's view can be accessed through MapBase.getView().

    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      Map()  
    • Constructor Detail

      • Map

        public Map()
    • Method Detail

      • getRawConfiguration

        public Configuration getRawConfiguration()
      • getBackgroundLayer

        public Layer getBackgroundLayer()
        Background layer of the map. Every new instance of a Map is initialized with a background layer. By default, the background layer will be a TileLayer using an OSMSource, which means it will display tiled map data from the official OpenStreetMap server.
        Returns:
        the background layer of the map
      • setBackgroundLayer

        public void setBackgroundLayer​(Layer backgroundLayer)
        Sets the background layer of the map. The layer will be prepended before all other layers, which means it will be rendered in the background by default. The background layer is not intended to be removed, and thus can not be set to null. For use-cases where you want to use a dynamic set of layers, consider setting the first layer as background layer, and then adding the remaining layers using addLayer(Layer).
        Parameters:
        backgroundLayer - the new background layer, not null
      • getFeatureLayer

        public FeatureLayer getFeatureLayer()
        The feature layer of the map. Every new instance of a Map has a pre-configured FeatureLayer for convenience, to allow quickly adding geographical features without requiring to set up a layer. Note that it is possible to add additional feature layers with addLayer(Layer) if splitting up features into different layers is beneficial for a use-case.
        Returns:
        the feature layer of the map
      • addLayer

        public void addLayer​(Layer layer)
        Adds a layer to the map. The layer will be appended to the list of layers, meaning that it will be rendered last / on top of previously added layers by default. For more fine-grained control of the layer rendering order, use Layer.setzIndex(Integer).
        Parameters:
        layer - the layer to be added
      • removeLayer

        public void removeLayer​(Layer layer)
        Remove a layer from the map
        Parameters:
        layer - the layer to be removed
      • getCenter

        public Coordinate getCenter()
        Gets center coordinates of the map's viewport

        This is a convenience method that delegates to the map's internal View. See MapBase.getView() for accessing other properties of the view.

        Returns:
        current center of the viewport
      • setCenter

        public void setCenter​(Coordinate center)
        Sets the center of the map's viewport in format specified by projection set on the view, which defaults to EPSG:3857

        This is a convenience method that delegates to the map's internal View. See MapBase.getView() for accessing other properties of the view.

        Parameters:
        center - new center of the viewport
      • getZoom

        public float getZoom()
        Gets zoom level of the map's viewport, defaults to 0

        This is a convenience method that delegates to the map's internal View. See MapBase.getView() for accessing other properties of the view.

        Returns:
        current zoom level
      • setZoom

        public void setZoom​(float zoom)
        Sets the zoom level of the map's viewport. The zoom level is a decimal value that starts at 0 as the most zoomed-out level, and then continually increases to zoom further in. By default, the maximum zoom level is currently restricted to 28. In practical terms, the level of detail of the map data that a map service provides determines how useful higher zoom levels are.

        This is a convenience method that delegates to the map's internal View. See MapBase.getView() for accessing other properties of the view.

        Parameters:
        zoom - new zoom level