2016-03-01 2 views
1

AmMaps имеет прохладную и легкую особенность создания Heatmap для областей: https://www.amcharts.com/demos/us-heat-map/AmMaps - Heatmap для изображений вместо областей

Можно ли использовать его также для точек (изображений) - для вычисления изображения цвета базирования на значении, colorSteps и т. д.?

ответ

1

Технически, функции тепловой карты не применяются к изображениям. Тем не менее, это довольно легко применить тот же принцип, используя очень простой плагин:

AmCharts.addInitHandler(function(map) { 

    // check if `colorSolid` is set for `imagesSettings` 
    if (map.imagesSettings.colorSolid === undefined) 
    return; 

    // calculate minimum and maximum value 
    var minValue, 
     maxValue; 
    if (map.minValue === undefined || map.maxValue === undefined) { 
    for (var i = 0; i < map.dataProvider.images.length; i++) { 
     var image = map.dataProvider.images[i]; 
     if (image.value !== undefined) { 
     if (minValue === undefined || (image.value < minValue)) 
      minValue = image.value; 
     if (maxValue === undefined || (image.value > maxValue)) 
      maxValue = image.value; 
     } 
    } 
    } 

    // use map overrides if set 
    if (map.minValue !== undefined) 
    minValue = map.minValue; 

    if (map.maxValue !== undefined) 
    maxValue = map.maxValue; 

    // set colors for each area 
    for (var i = 0; i < map.dataProvider.images.length; i++) { 
    var image = map.dataProvider.images[i]; 
    if (image.color === undefined && image.value !== undefined) { 
     // we set colors for those images that don't have color set explicitly 
     var percent = (image.value - minValue)/(maxValue - minValue); 
     image.color = AmCharts.getColorFade(
     map.imagesSettings.color, 
     map.imagesSettings.colorSolid, 
     percent); 
    } 
    } 

}, ["map"]); 

Добавьте его где-то перед кодом карты. Также убедитесь, что оба color и colorSolid установлены в imagesSettings.

Полный текст working example.

+0

Именно то, что я искал! Благодаря! – matcygan

Смежные вопросы