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