mapsapi-heatmap

Heatmap: Yandex.Maps API plugin for data visualization

  • Owner: yandex/mapsapi-heatmap
  • Platform:
  • License:: BSD 2-Clause "Simplified" License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Yandex Maps API Heatmap Module

Heatmap is a graphical representation of some spatial data where density values are indicated with different colors.
Heatmap class allows to construct and display such representations over geographical maps.

Loading

  1. Load both Yandex Maps JS API 2.1 and module source code by adding following code into <head> section of your page

    <script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
    <!-- Change my.cdn.tld to your CDN host name -->
    <script src="https://yastatic.net/s3/mapsapi-jslibs/heatmap/0.0.1/heatmap.min.js" type="text/javascript"></script>
    
  2. Get access to module functions by using ymaps.modules.require method

    ymaps.modules.require(['Heatmap'], function (Heatmap) {
         var heatmap = new Heatmap();
    });
    

Heatmap constructor, Parameter, Default value, Decription, ---------, -----------------------, ----------, data, -, Type: Object.Points described using of following formats:Number[][] - coordinates array;IGeoObject - object implementing IGeoObject interface;IGeoObject[] - array of objects implementing IGeoObject interface;ICollection - collection of objects implementing IGeoObject interface;ICollection[] - array of collection of objects implementing IGeoObject interface;GeoQueryResult - result of geoQuery execution;Any - JSON representation of data according to GeoQueryResult input data format., options, -, Type: Object.Heatmap representation options., options.radius, 10, Type: Number.Point radius of influence (px)., options.dissipating, false, Type: Boolean.true - disperse points on higher zoom levels according to radius, false - don't disperse., options.opacity, 0.8, Type: Number.Heatmap opacity (from 0 to 1)., options.intensityOfMidpoint, 0.2, Type: Number.Intensity of median point (from 0 to 1)., options.gradient, {    0.1: 'rgba(128, 255, 0, 0.7)',    0.2: 'rgba(255, 255, 0, 0.8)',    0.7: 'rgba(234, 72, 58, 0.9)',    1.0: 'rgba(162, 36, 25, 1)'}, Type: Object.JSON description of gradient., ## Properties, Name, Type, Description, ----, -----, ----------, options, option.Manager, Heatmap instance options manager., ## Methods, Name, Returns, Description, ----, ------------, ----------, getData, Object | null, Returns reference to data provided to constructor or setData method., setData, Heatmap, Adds new points. If Heatmap instance is already rendered, it will be re-rendered., getMap, Map | null, Returns reference to Map object., setMap, Heatmap, Sets Map instance to render heatmap layer over it., destroy, -, Destroys Heatmap instance., ### getData

Returns:

reference to data provided to constructor or setData method.

setData

Sets points. If Heatmap instance is already rendered, it will be re-rendered.

Returns:

Self-reference.

Parameters:, Parameter, Default value, Description, ---------, -----------------------, ----------, data, -, Type: Object.Points descibed using one of following formats:Number[][] - coordinates array;IGeoObject - object implementing IGeoObject interface;IGeoObject[] - array of objects implementing IGeoObject interface;ICollection - collection of objects imlementing IGeoObject interface;ICollection[] - array of collection of objects implementing IGeoObject interface;GeoQueryResult - result of geoQuery execution;Any - JSON representation of data according to GeoQueryResult input data format., ### getMap

Returns:

reference to Map object.

setMap

Sets Map instance to render Heatmap object over it.

Returns:

self-reference.

Parameters:, Parameter, Default value, Description, ----------, -----------------------, ----------, map, -, Type:MapMap instance to render Heatmap object over it., ### destroy

Destroys Heatmap instance

Examples

  • Displaying heatmap over geographical map:

    ymaps.modules.require(['Heatmap'], function (Heatmap) {
         var data = [[37.782551, -122.445368], [37.782745, -122.444586]],
             heatmap = new Heatmap(data);
         heatmap.setMap(myMap);
    });
    
    ymaps.modules.require(['Heatmap'], function (Heatmap) {
         var data = {
                  type: 'FeatureCollection',
                  features: [{
                      id: 'id1',
                      type: 'Feature',
                      geometry: {
                          type: 'Point',
                          coordinates: [37.782551, -122.445368]
                      }
                  }, {
                      id: 'id2',
                      type: 'Feature',
                      geometry: {
                          type: 'Point',
                          coordinates: [37.782745, -122.444586]
                      }
                  }]
              },
             heatmap = new Heatmap(data);
         heatmap.setMap(myMap);
    });
    
  • Updating heatmap data:

    ymaps.modules.require(['Heatmap'], function (Heatmap) {
        var data = [[37.782551, -122.445368], [37.782745, -122.444586]],
            heatmap = new Heatmap(data);
        heatmap.setMap(myMap);
    
        var newData = [[37.774546, -122.433523], [37.784546, -122.433523]];
        heatmap.setData(newData);
    });
    
  • Changing heatmap representation options.

    ymaps.modules.require(['Heatmap'], function (Heatmap) {
        var data = [[37.782551, -122.445368], [37.782745, -122.444586]],
            heatmap = new Heatmap(data);
        // Heatmap becomes opaque
        heatmap.options.set('opacity', 1);
        heatmap.setMap(myMap);
    });
    
    ymaps.modules.require(['Heatmap'], function (Heatmap) {
        var data = [[37.782551, -122.445368], [37.782745, -122.444586]],
            heatmap = new Heatmap(data);
        // Changing gradient
        heatmap.options.set('gradient', {
            '0.1': 'lime',
            '0.9': 'red'
        });
        heatmap.setMap(myMap);
    });
    
  • Weighted points.

    ymaps.modules.require(['Heatmap'], function (Heatmap) {
        var data = {
                  type: 'FeatureCollection',
                  features: [{
                      id: 'id1',
                      type: 'Feature',
                      geometry: {
                          type: 'Point',
                          coordinates: [37.782551, -122.445368]
                      },
                      properties: {
                          weight: 1
                      }
                  }, {
                      id: 'id2',
                      type: 'Feature',
                      geometry: {
                          type: 'Point',
                          coordinates: [37.782745, -122.444586]
                      },
                      properties: {
                          weight: 10
                      }
                  }]
              },
            heatmap = new Heatmap(data);
        heatmap.setMap(myMap);
    });
    
  • Demo

Main metrics

Overview
Name With Owneryandex/mapsapi-heatmap
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:BSD 2-Clause "Simplified" License
所有者活动
Created At2014-08-14 11:19:18
Pushed At2018-11-09 16:08:32
Last Commit At2018-11-09 19:08:31
Release Count0
用户参与
Stargazers Count80
Watchers Count20
Fork Count33
Commits Count43
Has Issues Enabled
Issues Count6
Issue Open Count2
Pull Requests Count4
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private