<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);";
}
エコー '</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