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