博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leaflets + heatmap 加载地图
阅读量:5983 次
发布时间:2019-06-20

本文共 3076 字,大约阅读时间需要 10 分钟。

  hot3.png

leaflets + heatmap 加载地图

  • leaflets
    • 简单友好轻量级的互动地图,开源的 JavaScript 库
    • 官网:
    • 源码下载:
  • Heatmap
    • heatmap.js是一个轻量级的,易于使用的JavaScript库来帮助你可视化你的三维数据,有一个和leaflets 搭配的插件 leaflets heatmap.js
    • 官网: 
    • 源码下载: 
  • 简单的热力图实现实现
    • 直接上代码
          
      leaflet
    • 配置
      var url = "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";//z表示地图的缩放级别//x表示地图瓦片的横向坐标//y表示地图瓦片的纵向坐标//其中的路径就是保存地图瓦片的的路径var tilemap = new L.TileLayer(url);//加载地图的底层对象var mapcenter = new L.latLng(26.65, 106.65);//地图的中心点的对象map = new L.Map("map", {    //"map"为需要插入地图的div的id            //CRS:'Simple',   //离线地图加载规则            center:mapcenter,   //地图中心点            zoom: 11,           //默认展示的缩放级别            layers: [tilemap],  //插入的地图的图层            minZoom: 0,         //最小缩放级别            maxZoom: 18,        //最大缩放级别            opacity: 0.1,       //图层的不透明度            maxBounds: [        //地图的东西南北最大边界,                                //在缩放级别和是的情况下,地图只会展示在当前的区域内                //south west                [26.4, 106.4],                //north east                [26.9, 106.98]            ]        });var heatmapLayer = null;// 热力图层function setHeatMap(){    /**     * 创建热力图的方法     * 传一个参数,从后台获取到的热力图的点的数据     * 数据结构     */    $.getJSON("./getDevice",function(data){        // alert(heatmapData[0].fields.device_desc);        var heatmapData= {            max: 4,            data: data        };        if(heatmapLayer != null){            /*这个方法是在每一次刷新热力图之前把前一次创建的热力图对象清除,             *如果不对这个对象进行重置,会在每一刷新的时候给这个对象添加数据上去,             *会导致这个对象内存增长             */            map.removeLayer(heatmapLayer);        }        var config = {            //热力图的配置项            // radius: 'radius',       //设置每一个热力点的半径            radius: 0.002,       //设置每一个热力点的半径            maxOpacity: 0.6,        //设置最大的不透明度            // minOpacity: 0.3,     //设置最小的不透明度            scaleRadius: true,      //设置热力点是否平滑过渡            blur: 0.95,             //系数越高,渐变越平滑,默认是0.85,                                    //滤镜系数将应用于所有热点数据。            useLocalExtrema: true,  //使用局部极值            // latField: 'latitude',   //维度            // lngField: 'lngField',  //经度            // valueField: 'count',    //热力点的值            latField: 'fields.baidu_y',   //维度  106.            lngField: 'fields.baidu_x',  //经度   26.            valueField: 'fields.direction',    //热力点的值            gradient: {                 //过渡,颜色过渡和过渡比例,范例:                "0.99": "rgba(255,0,0,1)",                "0.75": "rgba(255,255,0,1)",                "0.5": "rgba(0,255,0,1)",                "0.25": "rgba(0,255,255,1)",                "0": "rgba(0,0,255,1)"                }            // backgroundColor: 'rgba(27,34,44,0.5)'    //热力图Canvas背景        };        heatmapLayer = null;                        //重置热力图对象为null        heatmapLayer = new HeatmapOverlay(config);  //重新创建热力图对象        $(".leaflet-overlay-pane").empty();         //清空热力图的空间        map.addLayer(heatmapLayer);                 //将热力图图层添加在地图map对象上        heatmapLayer.setData(heatmapData);          //设置热力图的的数据    });}setHeatMap();

       

转载于:https://my.oschina.net/dwqdwd/blog/1795866

你可能感兴趣的文章
《C++ primer》--第9章
查看>>
Inno Setup 安装inf文件的一个例子
查看>>
对javabean的内省操作
查看>>
图形学理论 光照模型
查看>>
u-boot-2012.10移植到AT91RM9200(包括NAND FLASH)
查看>>
Android调用系统的发邮件功能
查看>>
Activity的生命周期,BACK键和HOME键生命周期
查看>>
draw lines on ColumnChart
查看>>
有关UNICODE、ANSI字符集和相关字符串操作
查看>>
【程序练习】——括号匹配
查看>>
校验知识:CRC32、MD5、SHA1概念及可靠性现状
查看>>
Android 之 Spinner
查看>>
.net 异常捕获
查看>>
C# Get Desktop Screenshot ZZ
查看>>
[C#]AES加密算法实现
查看>>
springrain 1.1 发布,spring 的极简封装
查看>>
有关虚拟内存的笔记
查看>>
DirectX基础学习系列8 渐进网格以及外接体
查看>>
经典网页设计:20个与众不同的国外 HTML5 网站
查看>>
Firemonkey的几个特色属性(二)
查看>>