Docs
`/`

# API elements

No matching results

# Sections and content

No matching results

- `Enter` to go to the highlighted result.
- `↑` and `↓` to change highlight.
- `Tab` to switch between result lists.
- `Esc` to hide the results.

# Releases

dotAtlas release notes, including a review of new features, improvements, bug fixes and upgrade considerations.

##
1.0.0

Version 1.0.0 is the first official release of dotAtlas. Release 1.0.0 speeds up initialization, improves rendering of labels, makes zoom animations more fluid and improves the documentation.

###
Improvements

Faster initialization

  Version 1.0.0 makes the initialization of elevations and markers layer several times faster compared to the earlier releases. The improvement is especially visible when visualizing large data sets.

Unlimited label length

  Earlier versions of dotAtlas limited labels to the first 6 words, adding an ellipsis to truncated labels. Version 1.0.0 supports labels of any length.

More fluid mouse-wheel zoom animations

  When rapidly scrolling with the mouse wheel, previous versions would produce a stuttering zoom-in animation. dotAtlas 1.0.0 combines these multiple events into one smooth, continuous zoom transition.

Improved elevation colors

  Release 1.0.0 improves the coloring of elevation bands for better legibility of markers and labels in the light and dark themes.

1m+ data points demo

  Version 1.0.0 adds the Visualizing 1M+ points demo. The demo shows techniques for streaming large datasets and rendering them incrementally to maintain smooth performance.

##
0.3.4

Version 0.3.4 fixes the long-standing bug causing rendering artifacts in the labels layer and improves the way dotAtlas handles the browser's viewport zooming.

###
Bug fixes

Label rendering artifacts

  Previous versions would render illegible labels when the browser's viewport was zoomed-in or -out. Version 0.3.4 fixes the issue and significantly improves handling of non-integer`devicePixelRatio` values reported by the browser. dotAtlas now dynamically reacts to both zooming-in and zooming-out of the viewport by scaling the map appropriately.

  Heads up, code update required!

  To take advantage of the pixel density improvements, let dotAtlas manage the density automatically by removing the `pixelRatio` property from the set of options you pass during dotAtlas initialization. Alternatively, leave `pixelRatio` value explicitly set to `auto`:

      const dotatlas = DotAtlas.embed({
        element: document.getElementById("dotatlas"),
        pixelRatio: "auto"
        layers: []
      });

Registration of plugin event handlers

  In the previous versions, the `on()`, `off()` and `once()` methods would fail to register event handlers exposed by plugins, where the handler names contain colon-separated segments, such as `selection:onSelectionChanged`. Version 0.3.4 fixes the problem.

##
0.3.2

Version 0.3.2 corrects the Lingo4G plugin code to use only ES6 language features to increase compatibility with legacy bundlers.

##
0.3.1

Version 0.3.1 updates the Lingo4GDocumentMap plugin to use the recently-released Lingo4G analysis API v2.

Version 0.3.1 also fixes "choppy" mouse-wheel based zooming of the visualization.

##
0.3.0

Version 0.3.0 is a major new release that comes with proper API documentation, NPM package distribution, finalized core and plugin API and 6 example plugins.

dotAtlas 0.3.0 is mostly a drop-in upgrade for the 0.2.x line, except for the minor API changes. However, version 0.3.0 comes with plugins adding many high-level features, such as point selection. You may therefore be able to replace a large portion of low-level code with an invocation of the appropriate plugin.

###
New features

NPM package

  You can now install dotAtlas as an NPM dependency. The demo version is available directly from the NPM depository, the licensed version is available from the dotAtlas distribution server through a special URL.

Plugins

  dotAtlas 0.3.0 adds support for creating plugins. Currently, 6 plugins are available with functionality ranging from automatic resizing of the visualization area, adding support for marker selection, to animated effects and adding map elevation legends.

CSS3 colors

  All color-related properties, such as `markerColor` or `colorBands`, now support CSS3 color strings.

Maximum zoom scale

  dotAtlas exposes the maxZoomScale option that limits the maximum scale to which the visualization can be zoomed. The default value is the scale at which rendering artifacts caused by limited precision of floating point computations start showing up.

###
Bug fixes

Label rendering artifacts

  Previous versions might render single-pixel artifacts around labels. Version 0.3.0 fixes the issue.

Choppy mouse wheel zoom

  Previous versions would produce a stuttering animation when zoom was initiated with mouse wheel on screens with pixel ratio smaller than 1.0. Version 0.3.0 fixes the issue.

###
API changes

Elevation values not normalized

  Previous versions would normalize the points' elevation values to the `0.0`...`1.0` range. As of version 0.3.0, for consistency with the markerSize property, elevation values will be clamped to the `0.0`...`1.0` range. If your code uses elevation values larger than 1.0, make sure you normalize them to the `0.0`...`1.0` range.

`maxRadiusDivider` replaced with `maxRadius`

  Version 0.3.0 replaces the `maxRadiusDivider` property of the elevations layer with a more intuitive `maxRadius` property. With the new property, the amount of "land" on the map is now proportional to the value of `maxRadius`.

`onHover` renamed to `onMouseMove`

  The global dotAtlas `onHover` event has been renamed to `onMouseMove` to better reflect that it is different from the per-layer `onPointHover` events. The former is fired on every mouse move regardless of whether there are any points near the mouse location or not. The latter is fired only when the mouse pointer is near some point or has just moved to an empty area.

Properties renamed

  Two properties of the markers layer have been renamed, replacing "outline" with the more familiar "border":

  Old name | New property
  --- | ---
  `markerOutlineOpacity` | `markerBorderOpacity`
  `markerOutlineWidth` | `markerBorderWidth`

  Two properties of the outline layer have been renamed, replacing "stroke" with the more familiar "border". Also names of two other properties have been shortened:

  Old name | New property
  --- | ---
  `outlineStrokeColor` | `outlineBorderColor`
  `outlineStrokeWidth` | `outlineBorderWidth`
  `outlineRadiusOffset` | `outlineOffset`
  `outlineRadiusMultiplier` | `outlineSizeMultiplier`

##
0.2.1

Version 0.2.1 fixes a JavaScript error causing dotAtlas to fail on Internet Explorer 11 and Edge. Version 0.2.1 is a drop-in upgrade for version 0.2.0.

##
0.2.0

Version 0.2.0 introduces the final shape of the dotAtlas JavaScript API. While the API is not compatible with the 0.1.x releases, further compatibility-breaking changes to the API are unlikely.

###
New features

Custom elevation color bands

  You can now customize the colors used to draw elevation bands using the `colorBands` option of the elevations layer.

Map legend

  You can also read the current colors and the corresponding elevation levels to create a legend for your map.

Label font customization

  You can now change the size, family, style, weight and variant of the font used when drawing dotAtlas labels. See the labels layer documentation for more details.

###
Improvements

Rendering performance

  Version 0.2.0 improves the speed of rendering by reducing the size and the number of costly blur operations.

###
API changes

Per-layer API

  Each dotAtlas layer is now an API-bearing object, having the `get()`, `set()`,`on()` and `off()` method, along with layer-specific options, events and methods.

  Layers can now be created using the `DotAtlas​.createLayer()` static method. The returned object is the entry point to layer-specific options, events and methods.

`DotAtlas.embed()`

  Version 0.2.0 changes the way dotAtlas is initialized. Instead of calling the constructor, use `DotAtlas​.embed()` to embed dotAtlas into the page.

`dataObject` option replaced with `layers`

  Data to visualize is now provided as the `layers` option of dotAtlas instance. The value of the option must be an array of layer object instances created using `DotAtlas​.createLayer()`.

Extensions

  The API comes with experimental support for creating extensions to the base dotAtlas API. dotAtlas currently ships with two extensions:

  - `carrotsearch.dotatlas.theme.js`: adds support for switching between light and dark color theme for the map,

  - `carrotsearch.dotatlas.autoresizing.js`: resizes dotAtlas on every change of the browser window dimensions.

  Please see the using extensions article for more details.

##
0.1.2

Demo of a workaround for the lack of label hover detection.

##
0.1.1

WebGL support detection fix.

##
0.1.0

Initial version.

previous article
Lingo4G v1 plugin API