<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