2016-04-01 12 views
1

データベーステーブルは20秒ごとに新しいデータで更新されます。私は新しい緯度& langで地図上のマーカーを動かすことはできませんでした。私は30秒ごとにクエリを実行して、テーブルの最後のレコードを取得し、マーカーの位置を更新しようとしました。マップがロードされ、マーカーが表示され、javascript関数も呼び出されます。しかし、マーカーは動かない。 )(..リアルタイムのデータでGoogleマップ上のマーカーを移動

<?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>  
+0

私はマーカーを削除し、similで新しいものを設定しましたarの状況。回避策はありますが、その仕事はします。 – Max

+0

@Maxコードを入れてください。 – Hirantha

+0

今はできません。携帯電話に限られた数日間、道路上にある。私は試しました。 – Max

答えて

0

は、VaRのスコープの問題だ.... VARマップを宣言しようとすると、マーカー

<script> 

// Declare the var for global scoping visibilty 
var map; 
var marker; 

function initialize() { 

    var myLatLng = new google.maps.LatLng(<?php echo $firstrow['latitude'].','. $firstrow['longitude'];?>), 
     myOptions = { 
     zoom: 16, 
     center: myLatLng, 
     ...... 
+0

私はそのようなチェンジャーをやった。しかし、働いていない。 – Hirantha

0

変更movemarkerを助けてくださいに:

function moveMarker(){ 
    setInterval(function(){ 
     $.get("point", function(data){ 
     var latlng= $.parseJSON(data); 
     mymarker.setPosition(new google.maps.LatLng({latlng})); 
    }); 
}, 30000); 

そして "についてポイント "ページ:

<?php 
    //get last lat and long and send with under code 
    echo json_encode($arr); 
?> 
関連する問題