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} radius Radius size in pixels. Default is `8`.
|
||||||
* @property {number|undefined} blur Blur size in pixels. Default is `15`.
|
* @property {number|undefined} blur Blur size in pixels. Default is `15`.
|
||||||
* @property {number|undefined} shadow Shadow size in pixels. Default is `250`.
|
* @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
|
* @property {number|undefined} minResolution The minimum resolution
|
||||||
* (inclusive) at which this layer will be visible.
|
* (inclusive) at which this layer will be visible.
|
||||||
* @property {number|undefined} maxResolution The maximum resolution
|
* @property {number|undefined} maxResolution The maximum resolution
|
||||||
|
|||||||
@@ -55,8 +55,19 @@ ol.layer.Heatmap = function(opt_options) {
|
|||||||
*/
|
*/
|
||||||
var styleCache = new Array(256);
|
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) {
|
this.setStyle(function(feature, resolution) {
|
||||||
var weight = feature.get('weight');
|
var weight = weightFunction(feature);
|
||||||
var opacity = goog.isDef(weight) ? weight : 1;
|
var opacity = goog.isDef(weight) ? weight : 1;
|
||||||
// cast to 8 bits
|
// cast to 8 bits
|
||||||
var index = (255 * opacity) | 0;
|
var index = (255 * opacity) | 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user