MySQLデータベースに緯度と経度が設定されています。自動アップデートGoogle Map from database
データは、Googleマップ上でポリラインのようにプロットされています。 すべて動作していますが、新しいデータが追加されたときにポリラインを自動更新する方法がわかりません。
私は関数initmapでintervalを設定しようとしましたが、うまくいかなかった。 誰かが私にこれを手伝ってもらえるかどうかはわかります。
<!DOCTYPE html >
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<style>
#map {
height: 100%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng(59.913063,10.750923),
zoom: 10,
mapTypeId : 'terrain'
});
var flightPlanCoordinates = [
<?php
require("dbcred.php");
$connection = mysqli_connect($host, $username, $password, $database);
mysqli_select_db($connection, $database);
$query = mysqli_query($connection,"SELECT latitude, longitude FROM geografi");
while($row = mysqli_fetch_assoc($query)){
$lat = $row['latitude'];
$lon = $row['longitude'];
echo 'new google.maps.LatLng('.$lat.', '.$lon.'),';
}
?>
];
var flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
geodesic: true,
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=GoogleKey&callback=initMap">
</script>
</body>
</html>
間隔でAjaxリクエストを使用する必要があります。 jsコードとPHPコードを分けることができれば、より良いでしょう。 –