Ich habe eine MySQL-Datenbank, die mit Längen- und Breitengrad gefüllt ist.Automatische Aktualisierung von Google Map aus der Datenbank
Die Daten werden wie eine Polylinie in Google Maps dargestellt. Alles funktioniert, aber ich weiß nicht, wie die Polylinie automatisch aktualisiert wird, wenn neue Daten hinzugefügt werden.
Ich habe versucht, Intervall für die Funktion Initmap festlegen, aber das hat nicht funktioniert. Ich würde mich freuen, wenn mir jemand dabei helfen könnte.
<!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>
Sie müssen Ajax Anfrage mit Intervall verwenden. Wenn Sie JS-Code von PHP-Code trennen können, wird es besser –