Skip to content

Latest commit

 

History

History
65 lines (50 loc) · 2.28 KB

heatmap.rst

File metadata and controls

65 lines (50 loc) · 2.28 KB

Heatmap

Example

#include <random>
#include <array>
#include <vector>

#include "xleaflet/xmap.hpp"
#include "xleaflet/xheatmap.hpp"

auto map = xlf::map::initialize()
    .center({37.58, 261.65})
    .zoom(5)
    .finalize();

std::random_device rd;
std::mt19937 mt(rd());
std::uniform_real_distribution<double> rd_latitude(34.0, 40.0);
std::uniform_real_distribution<double> rd_longitude(255.0, 265.0);
std::uniform_real_distribution<double> rd_intensity(0.0, 1000.0);

std::vector<std::array<double, 3>> heatmap_points;

for (std::size_t i = 0; i < 100; ++i)
{
    heatmap_points.push_back({rd_latitude(mt), rd_longitude(mt), rd_intensity(mt)});
}

auto heatmap = xlf::heatmap::initialize()
    .locations(heatmap_points)
    .finalize();

map.add_layer(heatmap);

map

Attributes

Attribute Default Value Doc
locations [] List of center locations
min_opacity 0.05 Minimum opacity the heat will start at
max_zoom 18 Zoom level where max intensity is reached
max 1.0 Maximum point intensity
radius 25.0 Radius of each "point" of the heatmap
blur 15.0 Amount of blur
gradient {0.4: 'blue', 0.6: 'cyan', 0.7: 'lime', 0.8: 'yellow', 1.0: 'red'} Color gradient config