Add new 'weight' option to ol.layer.Heatmap
This commit is contained in:
@@ -595,6 +595,8 @@
|
||||
* @property {number|undefined} radius Radius size in pixels. Default is `8`.
|
||||
* @property {number|undefined} blur Blur size in pixels. Default is `15`.
|
||||
* @property {number|undefined} shadow Shadow size in pixels. Default is `250`.
|
||||
* @property {string|function(ol.Feature):number|undefined} weight The feature attribute to use for the
|
||||
* weight or a function that returns a weight from a feature. Default is `weight`.
|
||||
* @property {number|undefined} minResolution The minimum resolution
|
||||
* (inclusive) at which this layer will be visible.
|
||||
* @property {number|undefined} maxResolution The maximum resolution
|
||||
|
||||
@@ -55,8 +55,19 @@ ol.layer.Heatmap = function(opt_options) {
|
||||
*/
|
||||
var styleCache = new Array(256);
|
||||
|
||||
var weight = goog.isDef(options.weight) ? options.weight : 'weight';
|
||||
var weightFunction;
|
||||
if (goog.isString(weight)) {
|
||||
weightFunction = function(feature) {
|
||||
return feature.get(weight);
|
||||
};
|
||||
} else {
|
||||
weightFunction = weight;
|
||||
}
|
||||
goog.asserts.assert(goog.isFunction(weightFunction));
|
||||
|
||||
this.setStyle(function(feature, resolution) {
|
||||
var weight = feature.get('weight');
|
||||
var weight = weightFunction(feature);
|
||||
var opacity = goog.isDef(weight) ? weight : 1;
|
||||
// cast to 8 bits
|
||||
var index = (255 * opacity) | 0;
|
||||
|
||||
Reference in New Issue
Block a user