heatmap.js 百度地图

转自 http://blog.csdn.net/guang_mang/article/details/71237961




[python]  view plain  copy
  1.   
做热力图使用heatmap.js模块然后就是来挑用百度地图api是他展现在百度地图上面

一首先你要申请一个百度地图api接口的密钥

申请网址


申请密钥之后,先登录上自己的账号然后创建应用


三就是来取一个应用名称,服务,类型全都不用动,ip白名单校验请设置为0.0.0.0/0,然后查看应用,把访问应用的AK码填入下面的代码里面

[python]  view plain  copy
  1. var points里面填入自己的经纬度  

[python]  view plain  copy
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3. <head>  
  4. <!DOCTYPE html>  
  5. <html>  
  6. <head>  
  7.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  8.     <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
  9.     <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你自己申请的码"></script>  
  10.     <script type="text/javascript" src="http://api.map.baidu.com/library/Heatmap/2.0/src/Heatmap_min.js"></script>  
  11.     <title>热力图功能示例</title>  
  12.     <style type="text/css">  
  13.         ul,li{list-style: none;margin:0;padding:0;float:left;}  
  14.         html{height:100%}  
  15.         body{height:100%;margin:0px;padding:0px;font-family:"微软雅黑";}  
  16.         #container{height:650px;width:100%;}  
  17.         #r-result{width:100%;}  
  18.     </style>  
  19. </head>  
  20. <body>  
  21.     <div id="container"></div>  
  22.     <div id="r-result">  
  23.         <input type="button"  οnclick="openHeatmap();" value="显示热力图"/><input type="button"  οnclick="closeHeatmap();" value="关闭热力图"/>  
  24.     </div>  
  25. </body>  
  26. </html>  
  27. <script type="text/javascript">  
  28.     var map = new BMap.Map("container");          // 创建地图实例  
  29.   
  30.     var point = new BMap.Point(116.41826139.921984);  
  31.     map.centerAndZoom(point, 15);             // 初始化地图,设置中心点坐标和地图级别  
  32.     map.enableScrollWheelZoom(); // 允许滚轮缩放  
  33.   
  34.     var points =[  
  35.   
  36. {"lng":"116.123421","lat":"39.612715","count":"37643"},  
  37. {"lng":"116.647674","lat":"39.900081","count":"17000"},  
  38. {"lng":"116.706551","lat":"39.690368","count":"38000"},  
  39. ];#这里面添加房价的经纬度,我的太多了,所以只拿了三个  
  40.   
  41.   
  42.     if(!isSupportCanvas()){  
  43.         alert('热力图目前只支持有canvas支持的浏览器,您所使用的浏览器不能使用热力图功能~')  
  44.     }  
  45.     //详细的参数,可以查看heatmap.js的文档 https://github.com/pa7/heatmap.js/blob/master/README.md  
  46.     //参数说明如下:  
  47.     /* visible 热力图是否显示,默认为true  
  48.      * opacity 热力的透明度,1-100  
  49.      * radius 势力图的每个点的半径大小  
  50.      * gradient  {JSON} 热力图的渐变区间 . gradient如下所示  
  51.      *  {  
  52.             .2:'rgb(0, 255, 255)',  
  53.             .5:'rgb(0, 110, 255)',  
  54.             .8:'rgb(100, 0, 255)'  
  55.         }  
  56.         其中 key 表示插值的位置, 0~1.  
  57.             value 为颜色值.  
  58.      */  
  59.     heatmapOverlay = new BMapLib.HeatmapOverlay({"radius":20});  
  60.     map.addOverlay(heatmapOverlay);  
  61.     heatmapOverlay.setDataSet({data:points,max:100});  
  62.   
  63.     closeHeatmap();  
  64.   
  65.     //判断浏览区是否支持canvas  
  66.     function isSupportCanvas(){  
  67.         var elem = document.createElement('canvas');  
  68.         return !!(elem.getContext && elem.getContext('2d'));  
  69.     }  
  70.   
  71.     function setGradient(){  
  72.         /*格式如下所示:  
  73.         {  
  74.             0:'rgb(102, 255, 0)',  
  75.             .5:'rgb(255, 170, 0)',  
  76.             1:'rgb(255, 0, 0)'  
  77.         }*/  
  78.         var gradient = {};  
  79.         var colors = document.querySelectorAll("input[type='color']");  
  80.         colors = [].slice.call(colors,0);  
  81.         colors.forEach(function(ele){  
  82.             gradient[ele.getAttribute("data-key")] = ele.value;  
  83.         });  
  84.         heatmapOverlay.setOptions({"gradient":gradient});  
  85.     }  
  86.   
  87.     function openHeatmap(){  
  88.         heatmapOverlay.show();  
  89.     }  
  90.   
  91.     function closeHeatmap(){  
  92.         heatmapOverlay.hide();  
  93.     }  
  94. </script>  
  95. </body>  
  96. </html>  
四用浏览器打开 记得点击下面的开关



[python]  view plain  copy
  1.   
做热力图使用heatmap.js模块然后就是来挑用百度地图api是他展现在百度地图上面

一首先你要申请一个百度地图api接口的密钥

申请网址


申请密钥之后,先登录上自己的账号然后创建应用


三就是来取一个应用名称,服务,类型全都不用动,ip白名单校验请设置为0.0.0.0/0,然后查看应用,把访问应用的AK码填入下面的代码里面

[python]  view plain  copy
  1. var points里面填入自己的经纬度  

[python]  view plain  copy
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3. <head>  
  4. <!DOCTYPE html>  
  5. <html>  
  6. <head>  
  7.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  8.     <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
  9.     <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你自己申请的码"></script>  
  10.     <script type="text/javascript" src="http://api.map.baidu.com/library/Heatmap/2.0/src/Heatmap_min.js"></script>  
  11.     <title>热力图功能示例</title>  
  12.     <style type="text/css">  
  13.         ul,li{list-style: none;margin:0;padding:0;float:left;}  
  14.         html{height:100%}  
  15.         body{height:100%;margin:0px;padding:0px;font-family:"微软雅黑";}  
  16.         #container{height:650px;width:100%;}  
  17.         #r-result{width:100%;}  
  18.     </style>  
  19. </head>  
  20. <body>  
  21.     <div id="container"></div>  
  22.     <div id="r-result">  
  23.         <input type="button"  οnclick="openHeatmap();" value="显示热力图"/><input type="button"  οnclick="closeHeatmap();" value="关闭热力图"/>  
  24.     </div>  
  25. </body>  
  26. </html>  
  27. <script type="text/javascript">  
  28.     var map = new BMap.Map("container");          // 创建地图实例  
  29.   
  30.     var point = new BMap.Point(116.41826139.921984);  
  31.     map.centerAndZoom(point, 15);             // 初始化地图,设置中心点坐标和地图级别  
  32.     map.enableScrollWheelZoom(); // 允许滚轮缩放  
  33.   
  34.     var points =[  
  35.   
  36. {"lng":"116.123421","lat":"39.612715","count":"37643"},  
  37. {"lng":"116.647674","lat":"39.900081","count":"17000"},  
  38. {"lng":"116.706551","lat":"39.690368","count":"38000"},  
  39. ];#这里面添加房价的经纬度,我的太多了,所以只拿了三个  
  40.   
  41.   
  42.     if(!isSupportCanvas()){  
  43.         alert('热力图目前只支持有canvas支持的浏览器,您所使用的浏览器不能使用热力图功能~')  
  44.     }  
  45.     //详细的参数,可以查看heatmap.js的文档 https://github.com/pa7/heatmap.js/blob/master/README.md  
  46.     //参数说明如下:  
  47.     /* visible 热力图是否显示,默认为true  
  48.      * opacity 热力的透明度,1-100  
  49.      * radius 势力图的每个点的半径大小  
  50.      * gradient  {JSON} 热力图的渐变区间 . gradient如下所示  
  51.      *  {  
  52.             .2:'rgb(0, 255, 255)',  
  53.             .5:'rgb(0, 110, 255)',  
  54.             .8:'rgb(100, 0, 255)'  
  55.         }  
  56.         其中 key 表示插值的位置, 0~1.  
  57.             value 为颜色值.  
  58.      */  
  59.     heatmapOverlay = new BMapLib.HeatmapOverlay({"radius":20});  
  60.     map.addOverlay(heatmapOverlay);  
  61.     heatmapOverlay.setDataSet({data:points,max:100});  
  62.   
  63.     closeHeatmap();  
  64.   
  65.     //判断浏览区是否支持canvas  
  66.     function isSupportCanvas(){  
  67.         var elem = document.createElement('canvas');  
  68.         return !!(elem.getContext && elem.getContext('2d'));  
  69.     }  
  70.   
  71.     function setGradient(){  
  72.         /*格式如下所示:  
  73.         {  
  74.             0:'rgb(102, 255, 0)',  
  75.             .5:'rgb(255, 170, 0)',  
  76.             1:'rgb(255, 0, 0)'  
  77.         }*/  
  78.         var gradient = {};  
  79.         var colors = document.querySelectorAll("input[type='color']");  
  80.         colors = [].slice.call(colors,0);  
  81.         colors.forEach(function(ele){  
  82.             gradient[ele.getAttribute("data-key")] = ele.value;  
  83.         });  
  84.         heatmapOverlay.setOptions({"gradient":gradient});  
  85.     }  
  86.   
  87.     function openHeatmap(){  
  88.         heatmapOverlay.show();  
  89.     }  
  90.   
  91.     function closeHeatmap(){  
  92.         heatmapOverlay.hide();  
  93.     }  
  94. </script>  
  95. </body>  
  96. </html>  
四用浏览器打开 记得点击下面的开关


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是在Vue中开关百度地图的热力图显示的完整代码示例: ``` <template> <div> <div id="map"></div> <button @click="toggleHeatMap">Toggle Heat Map</button> </div> </template> <script> export default { data() { return { map: null, // 百度地图实例 heatMap: null, // 热力图实例 isHeatMapVisible: false // 热力图是否可见 }; }, mounted() { // 初始化百度地图 this.map = new BMap.Map("map"); const point = new BMap.Point(116.404, 39.915); this.map.centerAndZoom(point, 15); // 添加热力图 const heatmapData = [...]; // 省略数据 this.heatMap = new BMapLib.HeatmapOverlay({ radius: 20 }); this.map.addOverlay(this.heatMap); this.heatMap.setDataSet({ data: heatmapData, max: 100 }); // 默认隐藏热力图 this.heatMap.hide(); }, methods: { toggleHeatMap() { if (this.isHeatMapVisible) { this.heatMap.hide(); } else { this.heatMap.show(); } this.isHeatMapVisible = !this.isHeatMapVisible; } } }; </script> <style> #map { height: 500px; } </style> ``` 这里使用了百度地图JavaScript API和BMapLib库来实现热力图的显示。具体实现步骤如下: 1. 在`mounted`生命周期中初始化百度地图,并添加热力图。这里的`heatmapData`是热力图的数据,可以根据实际情况进行修改。 2. 在`toggleHeatMap`方法中切换热力图的显示状态。如果热力图已经可见,则隐藏;否则显示。同时更新`isHeatMapVisible`的状态。 3. 在模板中添加一个按钮,点击按钮时调用`toggleHeatMap`方法切换热力图的显示状态。 注意:在使用百度地图API时,需要先在HTML中添加百度地图JS文件引用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值