<div id="map" style="width: 500px; height: 500px;"></div>
<?php
$apiKey = '你的API密鑰';
echo <<<HTML
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak={$apiKey}"></script>
<script type="text/javascript">
// 創建地圖對象
var map = new BMap.Map("map");
// 設置地圖中心點為北京
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
// 啟用鼠標滾輪縮放
map.enableScrollWheelZoom();
</script>
HTML;
?>
<?php
// 從數據庫中查詢經緯度信息
$markers = [
['lat' => 39.9225, 'lng' => 116.396],
['lat' => 39.935, 'lng' => 116.403],
['lat' => 39.927, 'lng' => 116.415]
];
?>
<?php
echo '<script type="text/javascript"> ';
foreach ($markers as $marker) {
$lat = $marker['lat'];
$lng = $marker['lng'];
echo "var point = new BMap.Point($lng, $lat);";
echo "var marker = new BMap.Marker(point);";
echo "map.addOverlay(marker);";
}
echo '</script> ';
?>
<script type="text/javascript">
function updateMarkers() {
// 發送Ajax請求獲取最新的標註數據
$.ajax({
url: 'get_markers.php',
method: 'GET',
dataType: 'json',
success: function(data) {
// 清除原有的標註
map.clearOverlays();
// 遍歷最新的標註數據,並添加到地圖上
for (var i = 0; i < data.length; i++) {
var point = new BMap.Point(data[i].lng, data[i].lat);
var marker = new BMap.Marker(point);
map.addOverlay(marker);
}
}
});
}
<p>// 每隔一段時間調用更新標註的函數<br>
setInterval(updateMarkers, 5000);<br>
</script><br>
相關標籤:
API