Heatmap.js Leaflet Heatmap
Heatmap.js Leaflet Heatmap
Im正在尝试通过传单插件实现传单的热图//www.patrick-wied.at/staticc/heatmapjs/plugin-Leaflet-layer.html,
但由于某种原因,它忽略了我的"值",所以所有数据点都有相同的颜色
window.onload = function() {
var baseLayer = L.tileLayer(
'http://{s}.www.toolserver.org/tiles/bw-mapnik/{z}/{x}/{y}.png',{
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>',
maxZoom: 20
}
);
var cfg = {
// radius should be small ONLY if scaleRadius is true (or small radius is intended)
"radius": 0.00007,
minOpacity: 0.5,
maxOpacity: 1,
// scales the radius based on map zoom
"scaleRadius": true,
// if set to false the heatmap uses the global maximum for colorization
// if activated: uses the data maximum within the current map boundaries
// (there will always be a red spot with useLocalExtremas true)
"useLocalExtrema": false,
// which field name in your data represents the latitude - default "lat"
latField: 'lat',
// which field name in your data represents the longitude - default "lng"
lngField: 'lng',
// which field name in your data represents the data value - default "value"
value: 'sig',
blur:0,
gradient: {
// enter n keys between 0 and 1 here
// for gradient color customization
'1': 'red',
'.3': 'yellow',
'0.9': 'green'
},
};
var heatmapLayer = new HeatmapOverlay(cfg);
var map = new L.Map('map-canvas', {
center: new L.LatLng(52.400458, 13.052260),
zoom: 14,
layers: [baseLayer, heatmapLayer]
});
heatmapLayer.setData(testData);
// make accessible for debugging
layer = heatmapLayer;
};
我的数据如下:
var testData = {
data:[{lat:52.40486, lng:13.04916, sig:30}, {lat:52.40486, lng:13.04916, sig:70}, {lat:52.40496, lng:13.04894, sig:67}, {lat:52.40496, lng:13.04894, sig:72}, {lat:52.40486, lng:13.04916, sig:74}, {lat:52.40486, lng:13.04916, sig:78}, {lat:52.40493, lng:13.04925, sig:67},]}
你可以让它活下去http://www.frief.de/heatmap/test2.html
如果有人有一个想法,那就太好了,我只是愚蠢的
只是一个快速的建议。
你试过使用Vladimir Agafonkin(Leaflet.js的作者本人)的Leaflet.Heatmap插件吗。插件页面上似乎没有列出它。
我认为它更快,可能会是一个更好的解决方案:https://github.com/Leaflet/Leaflet.heathttp://mourner.github.io/simpleheat/demo/
我认为这不起作用,因为您的代码在这里是错误的:
<div class="wrapper">
<div class="heatmap" id="map-canvas">
</div>
</div>
</script> <----THIS <script src="src/heatmap.js"></script>
<script src="src/leaflet-heatmap.js"></script>
打开链接,你说是一个演示页面和检查代码。修复这个孤立的</script
标记,看看它现在是否工作。
我知道这是旧的,但我刚刚遇到了这个问题,下面是我解决它的方法。在图书馆";pa7_laflet_hm.min.js";有一部分它设置了最小值/最大值,并硬编码为1和0
this._data = [];
this._max = 1;
this._min = 0;
显然,这会根据该值控制斑点的强度,并且只有当useLocalExtrema
设置为false时,这一点才会被覆盖,这将始终将其设置为最高可见斑点。
如果您不希望总是根据可见区域检查最高值,您可以将this._max
值更改为更高的值,或者甚至可以将其设置为配置中的值,以显示
this._data = [];
this._max = (this.cfg.max ? this.cfg.max : 1);
this._min = (this.cfg.min ? this.cfg.min : 0);
这样你就可以得到一个更传统的功能热图
- LEAFLET地图和带有选择选项的标记-ANGULARjs
- 如何使用D3.js根据json中给出的数据在Heatmap中创建可变大小的矩形
- 如何在使用mapbox LeafLet拖动标记时获取标记拖动事件
- 保存leaflet.js的当前视图
- 如何使用heatmap.js保存canvas标记生成的图像文件
- 如何在图像上渲染heatmap.js
- 如何删除leaflet.draw中的绘图层
- 如何在OpenLayers中的Heatmap.js中动态调整缩放
- 根据用户输入的leaflet.js过滤标记
- 如何销毁heatmap.js实例
- Heatmap.js not rendering
- 如何在Leaflet.js中按属性过滤TopoJSON功能
- 是否可以同时使用Leaflet.js中的中心和边界属性
- Heatmap.js Leaflet Heatmap
- 在 React-Leaflet 库中为
- 更新标记位置 json Leaflet 和 WebGLEarth
- 延迟加载由 appendChild() 在 javascript/leaflet 中附加的图像
- 我可以用LeafLet更改GeoJSON LineString的填充颜色吗?
- 传单错误:对象 #<对象> 在 file:///android_asset/www/leaflet.js:6 没有方法“
- 使用Leaflet.Control.从下拉列表中搜索标记