Die Datenbanktabelle wird alle 20 Sekunden mit neuen Daten aktualisiert. Ich möchte den Marker auf der Karte mit neuem Lat verschieben & lang. Ich habe versucht, alle 30 Sekunden eine Abfrage auszuführen, um den letzten Datensatz der Tabelle zu erhalten und die Position des Markers zu aktualisieren. Map lädt, der Marker wird angezeigt und die JavaScript-Funktion wird auch aufgerufen. Aber der Marker bewegt sich nicht. Bitte helfen ..Marker auf Google Map mit Echtzeitdaten verschieben
<?php
include "db_connect.php";
$sql="SELECT * FROM temperature_details ORDER BY id DESC LIMIT 1 ";
$result=mysql_query($sql);
$firstrow = mysql_fetch_assoc($result);
function getNewLatLang(){
$sql="SELECT * FROM temperature_details ORDER BY id DESC LIMIT 1 ";
$result=mysql_query($sql);
$latLang = mysql_fetch_assoc($result);
echo $latLang['latitude'].','. $latLang['longitude'];
}
?>
<script src="http://maps.googleapis.com/maps/api/js?key=API_KEY&libraries=geometry"></script>
<div id="map" style="height:500px;width:100%;" ></div>
<script>
function initialize() {
var myLatLng = new google.maps.LatLng(<?php echo $firstrow['latitude'].','. $firstrow['longitude'];?>),
myOptions = {
zoom: 16,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
},
map = new google.maps.Map(document.getElementById('map'), myOptions ),
marker = new google.maps.Marker({position: myLatLng, map: map});
marker.setMap(map);
moveMarker(map, marker);
}
function moveMarker(map,marker) {
setInterval(function(){
marker.setPosition(new google.maps.LatLng(<?php echo getNewLatLang(); ?>));
map.panTo(new google.maps.LatLng(<?php echo getNewLatLang(); ?>));
console.log("I am working");
}, 30000);
};
initialize();
</script>
Ich entfernte den Marker und legte einen neuen in einem Simil Situation. Workaroundish aber macht den Job. – Max
@Max Bitte setzen Sie den Code .. – Hirantha
Kann nicht sofort. unterwegs für ein paar mehr tage auf telefon beschränkt. sry – Max