require 'vendor/bdmapapi-master/autoload.php'; use BaiduMapAPIHeatMap\HeatMap;
$heatPoints = [ ['lng' => 113.943062, 'lat' => 22.549006, 'count' => 10], ['lng' => 114.064871, 'lat' => 22.548925, 'count' => 20], ['lng' => 113.88908, 'lat' => 22.580623, 'count' => 30], // 更多坐标点... ];
$heatmap = new HeatMap(); // 创建实例 $heatmap->setScale(3); // 设置热力图的权重值缩放比例 $heatmap->setOpacity(0.8); // 设置热力图的透明度然后,利用 `addPoint` 方法添加坐标点和对应的权重值:
foreach ($heatPoints as $point) { $heatmap->addPoint($point['lng'], $point['lat'], $point['count']); }最后,通过 `getHeatMapImage` 方法生成热力图数据:
$heatmapData = $heatmap->getHeatMapImage();
<div id="map"></div>接下来,在JavaScript代码中,创建百度地图实例,并添加热力图覆盖物:
var map = new BMap.Map("map"); // 创建地图实例 var heatmapOverlay = new BMapLib.HeatmapOverlay(); // 创建热力图覆盖物实例 map.centerAndZoom(new BMap.Point(113.943062, 22.549006), 13); // 设置地图中心点和缩放级别 map.addOverlay(heatmapOverlay); // 添加热力图覆盖物 heatmapOverlay.setDataSet({ data: <?php echo json_encode($heatmapData); ?> });
相关标签:
API