Рассмотрим следующий код:Как динамически изменять масштаб в Heatmap.js в OpenLayers
heatmap = new OpenLayers.Layer.Heatmap("Heatmap Layer", map, osm,
{visible: true, radius: radiusForScale[zoom], legend: {position: 'br',title: 'title'}},
{isBaseLayer: false, opacity: 0.3, projection: new OpenLayers.Projection("EPSG:4326")}
);
фона: heatmap.js отлично подходит для отображения плотности населения и такое ... Но я не хочу Heatmap. js для управления радиусом моих точек. Вместо этого я хочу динамически обновлять радиус на основе пользовательской функции масштабирования, которую я создал, без необходимости разрушать тепловую карту и воссоздавать ее каждый раз, когда изменяется масштаб. Теперь это возможно, если вы добавляете Heatmap к DIV следующим образом:
var config = {
element: document.getElementById("heatmapArea"),
radius: 30,
opacity: 50
};
//creates and initializes the heatmap
var heatmap = h337.create(config);
В этом примере, это так просто, как обновление объекта JSON и обновление экрана. Однако это только в статическом отображении, назначаемом div, и поэтому делает векторный слой бесполезным. Кто-нибудь имел успех с этим в OpenLayers ??
На боковой ноте: я просмотрел все ключи в строке JSL-панели Heatmap и, похоже, не существует способа изменить масштабную переменную.
ПРИМЕЧАНИЕ. Это НЕ использует функциональность тепловой карты OL3. Это библиотека, созданная Патриком Видом. – Brett