110,536
社区成员
发帖
与我相关
我的任务
分享
string jsstring = JsonConvert.SerializeObject(arrayA);
webBrowser1.Document.InvokeScript("showheatmap", new string[] { jsstring });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/Heatmap/2.0/src/Heatmap_min.js"></script>
<title>热力图</title>
<style type="text/css">
ul, li
{
list-style: none;
margin: 0;
padding: 0;
float: left;
}
html
{
height: 100%;
}
body
{
height: 100%;
margin: 0px;
padding: 0px;
font-family: "微软雅黑";
}
#container
{
height: 100%;
width: 100%;
}
#r-result
{
width: 100%;
}
</style>
</head>
<body>
<div id="container">
</div>
</body>
</html>
<script type="text/javascript">
var map = new BMap.Map("container"); // 创建地图实例
var point = new BMap.Point(108.93, 34.27);
map.centerAndZoom(point, 5); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom(); // 允许滚轮缩放
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl());
var opts = { offset: new BMap.Size(50, 5) };
map.addControl(new BMap.MapTypeControl(opts));
map.setCurrentCity("西安");
if (!isSupportCanvas()) {
alert('热力图目前只支持有canvas支持的浏览器,您所使用的浏览器不能使用热力图功能~')
}
//判断浏览区是否支持canvas
function isSupportCanvas() {
var elem = document.createElement('canvas');
return !!(elem.getContext && elem.getContext('2d'));
}
function showheatmap(heatmapdata) {
var jsdata = JSON.parse(heatmapdata);
var point = new BMap.Point(jsdata[jsdata.length - 3], jsdata[jsdata.length - 2]);
map.centerAndZoom(point, jsdata[jsdata.length - 1]);
var len = jsdata.length;
var points = new Array(len / 3-1);
if (len >= 1) {
for (var i = 0; i < len-3; i = i + 3) {
points.push({
lng: jsdata[i],
lat: jsdata[i + 1],
count: jsdata[i + 2]
});
}
}
heatmapOverlay = new BMapLib.HeatmapOverlay({ "radius": 3 });
map.addOverlay(heatmapOverlay);
heatmapOverlay.setDataSet({ data: points, max: 3000 });
heatmapOverlay.show();
}
</script>