Locations
The primary elements for constructing an interactive map are locations. Mapplic maps offer the flexibility of an unlimited number of locations, each with its own set of properties.
Location properties
Locations come with built-in properties, organized into the same sections as the panel: Content, Preset, Visual, Filtering, Action, Position, and Custom.
By default a location opens in a simplified view showing the ID, the Content fields, and the Preset section. The Show more button at the bottom of the panel expands the detailed view with the remaining sections; Show less returns to the simplified list.
The list of locations can be reordered using drag-and-drop.
Content
| Property | Key | Description |
|---|---|---|
| ID | id * | Unique location identifier. It is also used for connecting to interactive SVG elements. |
| Title | title | Display title of the location. |
| About | about | Brief description of the location, visible in popups and the directory. |
| Thumbnail | thumb | A thumbnail shown in the directory, or used as the marker background when Background (markerThumb) is set to Thumbnail. |
| Image | image | One or more image URLs (space-separated) displayed in popups and the directory grid view. A single image shows as a still; multiple become a swipeable gallery. |
| Link | link | Relative or absolute URL used for redirects and as the More action button. |
| Phone | phone | When set, it includes a button with a phone icon that can show/hide the phone number in popups. |
| Hours | hours | When set, it includes a button with a clock icon that can show/hide the opening hours in popups. |
| Description | desc | Main location description that supports rich content like links, videos, or other HTML elements. |
Preset
| Property | Key | Description |
|---|---|---|
| Preset | preset | Preset the location inherits options from. If not set, the Default preset applies. |
Inherited values are listed in this section for reference; any value the location overrides is dimmed. Options set directly on the location are collected in an Options box with Add to preset and Create preset actions — see Presets.
Visual
| Property | Key | Description |
|---|---|---|
| Color | color | Hex color of the location marker/element and the main action button. It is ignored for the marker/element when style is set. |
| Style | style | Complex marker/element styling, overwrites the color property. Styles can be configured in the Styles section. |
| Marker | noMarker | Show or hide the marker. Hide it when an associated SVG element represents the location instead. |
| Marker style | markerStyle | Apply a style to the marker only, without affecting an associated SVG element. |
| Label | label | Short string presented in the marker, typically consisting of 1-3 characters. |
| Icon | icon | Optional icon shown inside the marker. |
| Background | markerThumb | Use the location’s thumbnail as the marker background instead of a solid color. |
| Radius | radius | Marker corner radius in pixels — 0 for a square, higher values for rounded corners; defaults to a circle. |
| Scale | scale | Size of the marker, as a floating-point multiplier where 1 is the default size. |
| Rotation | rotation | Rotation angle of the marker in degrees. |
| Marker title | markerTitle | Display the location title next to the marker: left, right, bottom, or dynamic. |
| Relative to | scaleMode | Whether the marker keeps a fixed size on Screen (default) or scales with the Map. |
| Crowding | crowding | How overlapping markers are resolved — see Clustering. Unavailable when Relative to is Map. |
| Button label | more | Custom text for the link button (defaults to More). Shown when a Link is set. |
The marker-related fields are hidden while Marker is off.
Filtering
| Property | Key | Description |
|---|---|---|
| Group | group | Groups assigned to the location. To select multiple groups, hold the Ctrl/Cmd key. |
| Tags | tags | Searchable tags displayed in the location popup; they help find related locations. |
| Directory | hide | Hide location from directory. |
| Map filter | ignoreMapFilters | Ignored locations stay visible on the map when filtering or searching. |
| Disable | disable | Disable location. |
Action
The action decides what happens when a location is focused — usually opening a popup with the location’s details and media.
| Property | Key | Description |
|---|---|---|
| Action | action | What focusing the location does — see the values below. |
| Popup type | popupType | Where the popup appears (Popup action) — see the types below. |
| Thumbnail | popupThumb | Show the location’s thumbnail in the popup. |
| Image placement | imagePlacement | Auto, or Background for a faded background-image style. |
| Enlargeable media | enlargeableMedia | Allow clicking images to view them fullscreen. |
| To | switch | Layer to switch to (Switch to layer action). |
| Link target | target | Where the location’s link opens — Blank, Self, Parent, or Top. |
| Wayfinding | autoroute | Automatically link the location to the route system through the closest point. Available when wayfinding is on. |
Action values
| Action | Key | Description |
|---|---|---|
| Popup | popup | (Default) Open a popup with the location’s details. |
| Do nothing | none | Zoom to the location (if zoom is enabled) without a popup. |
| Switch to layer | switch-layer | Switch to a chosen layer when the location is clicked. |
| Redirect to link | redirect | Open the location’s Link URL, without a popup. |
| Media | media | Show the location’s image(s) fullscreen. |
Popup types
| Type | Key | Description |
|---|---|---|
| On map | map | (Default) Dynamic popup that moves with the map. |
| Over the directory | directory | Fixed popup above the directory. Falls back to Container, left aligned if the directory is off. |
| Container, left aligned | container-left | Fixed over the map container, left (falls back to center on small sizes). |
| Container, right aligned | container-right | Fixed over the map container, right (falls back to center on small sizes). |
| Container, bottom aligned | container-bottom | Fixed over the map container, bottom. |
| Container, center aligned | container-center | Fixed over the map container, center. |
<iframe> embed.The popupType and action values are also listed in the
Enums reference.
Position
| Property | Key | Description |
|---|---|---|
| Layer | layer | Layer the location belongs to. Locations can also be assigned to all layers. |
| Coord | coord * | X,Y coordinate of the location. The easiest method for modifying coordinates is by drag-and-dropping markers. |
| Lat, lon | latlon | Comma separated latitude and longitude coordinate of the location, only available for geocalibrated maps. coord will be ignored when latlon is set. |
| Zoom | zoom | Focus zoom level for the location. If left empty, the global max zoom level will be applied. |
Custom
Custom attributes attach your own data to locations — see Custom fields below.
Custom fields
Beyond the built-in location properties (title, image, link, and so on), custom fields attach extra data to locations — an internal ID, a capacity, an accessibility flag, or anything else a map needs.
Adding a field
Open a location and expand the Custom section, then choose New custom
field. Enter a key using only lowercase letters, hyphens, and underscores
(no spaces or other characters), for example poi-id or wheelchair_access.
Once added, the field becomes available on every location — fill in a value per location as needed. Custom fields can also be set on a preset so locations inherit a shared value.
Removing a field
Use the minus button next to a field to remove it. A field is only removed once no location still has a value for it, so clear the values first for a clean removal.
Using custom fields
Custom fields aren’t shown in popups on their own, but they power several other features:
- Template variables — render a field inside About or Description with
{{ key }}. See template variables. - Filter conditions — reference a field in a checkbox, dropdown, or chips
filter condition, such as
l.country === value.
This makes custom fields a flexible way to drive filtering and personalized content from your own data.
Styles
Styles enable advanced customization of markers and interactive SVG elements.
While the color property covers basic tinting, a style
lets you define distinct colors for the base, hover, and active
states, control strokes and label text, and add visual effects.
Create styles from the Styles list at the bottom of the Locations panel, or
straight from a location’s Style field. Once defined, assign a style with the
style property (markers and SVG elements) or the markerStyle property
(markers only).
Applying a style
Each style starts with three settings that decide what it targets.
| Property | Description |
|---|---|
| Class * | Unique style name. It is also applied as a CSS class for further custom styling. |
| Marker | Apply this style to the markers of locations using it. |
| SVG | Apply this style to the SVG elements of locations using it. |
States
A style is configured across three states, each in its own accordion. The Hover state is also applied to locations matched by a filter.
| Property | Description |
|---|---|
| Fill | Fill color of the marker or SVG element. |
| Stroke | Stroke (border) color. |
| Stroke width | Border width in pixels. |
| Text | Label text color (markers only). |
| Effects | Visual effects. |
| CSS | Custom CSS applied in that state. |
| Bring to front | Raise the SVG element above overlapping elements. Active defaults to on. |
Effects
Effects add depth and motion to a state. Shadows and glows are mutually exclusive with one another, as are the Grow, Pulse, and Shake animations.
| Effect | Description |
|---|---|
| Shadow S/M/L | Drop shadow, increasing intensity. |
| Glow S/M/L | Colored outer glow, increasing intensity. |
| Grow | Scales the element up slightly. |
| Pulse | Gentle looping scale animation. |
| Shake | Brief left-right shake animation. |
| Ripple | Expanding ring animation. Markers only. |
Dark mode
Every color field (fill, stroke, and text) accepts a separate dark value
that is used when the map runs in dark theme.
Each dark variant is stored under a _dark suffix, for example base-color_dark.
Leave it blank to reuse the light color.
Custom CSS hook
Because the style class is added to the marker or element as a CSS class, it
doubles as a hook for custom CSS. For example, to make
the stroke dashed on the active state only:
.my-style-class.mapplic-active {
stroke-dasharray: 2 2;
}See the Style schema for the complete list of keys.
Presets
Presets are reusable location templates. When several locations share the same options — a style, a marker color, a popup configuration — define them once on a preset and reference it from each location. Any change to the preset updates every location that uses it at once.
A preset has the same properties as a regular location. When a location references a preset, the preset’s values are inherited; any value set directly on the location overrides the inherited one.
The default preset
Every map has a built-in Default preset (id def). Locations that don’t
reference a custom preset inherit from it, so the Default preset is the place to
set map-wide defaults such as a base marker color or popup type.
Creating a preset
There are two ways to create a preset:
- From the Preset field — open any location, find the Preset dropdown in the Preset section, and choose Create. The new preset is created and immediately assigned to that location.
- From the Presets list — in the Locations panel, scroll to the Presets section and add a new preset from the list header.
Each preset in the list shows a counter of how many locations currently use it.
Editing a preset
Click any preset in the Presets list to open it — it exposes the same Content, Visual, Filtering, and Action options as a location. From a location that has a preset assigned, choose Edit on the Preset field to jump straight to it.
In the location’s Preset section, inherited values are listed for reference; any field the location overrides is dimmed.
Moving options into a preset
To reuse settings configured directly on a location, the Options box in the Preset section promotes them:
- Create preset turns the location’s own options into a brand-new preset.
- Add to preset merges them into the preset the location already references.
In both cases the options move off the location and onto the preset, so they become shared inherited values.
preset property. Updating a preset later restyles every matching location instantly.Presets pair well with template variables and are described in the Presets schema.
Clustering
On maps with many markers, points overlap and crowd each other — especially at lower zoom levels. Crowding controls how Mapplic resolves that overlap. It is set per location in the Visual section, but is most often applied through the Default preset so the whole map behaves consistently.
Modes
| Mode | Key | Description |
|---|---|---|
| Hide | hide | Randomly hides some overlapping markers to create space. |
| Minimize | minimize | Shrinks overlapping markers into dots to reduce clutter. |
| Resize | resize | Resizes each marker based on how crowded its surroundings are. |
| Uniform resize | uniform | Resizes all markers by the same factor to avoid overlap. |
| Cluster | cluster | Groups nearby markers into a single cluster marker. |
The default mode applies no crowding. Whatever the mode, all markers are revealed once the map is zoomed in to its maximum level.
Clusters
With the Cluster mode, overlapping markers below max zoom are replaced by a single marker showing the count of points it represents. Clicking a cluster zooms the map in toward it, progressively revealing the individual markers as they stop colliding.
At runtime a cluster marker carries a clusterCount and the list of members
it groups — see the Location schema.
Recognizer
To simplify the process of populating locations, Mapplic includes a built-in feature known as the recognizer. This feature iterates through all interactive elements of an SVG and automatically places empty locations at estimated positions based on the bounding box of each element.
The recognizer operates on the selected layer, meaning it needs to be executed individually for each layer.
CSV import
Spreadsheets are one of the most intuitive ways to manage tabular data, so Mapplic can load locations from a CSV source in addition to its built-in data. Locations can live entirely in a CSV, mix CSV and built-in entries, or be exported to CSV for bulk editing and re-imported.
Open the Locations panel and enable External CSV to reveal the options below.
CSV format
The header row holds location property keys
(id, title, coord, group, …) and each following row is one location. The
id column is required so locations can be matched and linked to SVG elements.
Linking a source
| Option | Description |
|---|---|
| CSV source | Path to the CSV — a static file, a dynamic endpoint, or a published Google Sheet URL. |
| Duplicates | What to do when an id exists both internally and in the CSV: Ignore the CSV row, or Merge its values over the internal location. |
Locations that exist only in the CSV appear below the built-in locations as inactive entries. Import a single one from there, or import them all at once.
Importing
The Import button pulls every CSV location into the map’s built-in data and
then unlinks the source (it clears the csv path and turns External CSV off).
With Merge selected, fields from a matching CSV row overwrite the internal
location; CSV-only rows are added as new locations.
Exporting
The Export button downloads the current locations as a CSV file. This is the easiest way to make bulk edits: export, edit in a spreadsheet, then link or re-import the file.
preset column, letting a spreadsheet stay lean while presets supply shared styling. For SVG elements that have no matching location yet, use the recognizer.See the CSV settings for the related configuration keys.
Template variables
Achieving personalized about and description properties for a location is made easy through the use of template variables.
Any location property (default or custom) can be rendered by putting it inside {{ }} brackets.
Welcome to our office in {{title}}.
Feel free to reach out.
Phone: {{phone}}
Email: {{email}}The above description template will pull in the title, phone and email attributes of the location. This feature is extremely useful when combined with presets.