我已经获取了php中所有gps设备的纬度和经度。我想要的是在PHP中,这个纬度和经度每30秒更新一次。更新值后,我想根据这些值更新标记位置。我为此烦恼了很多,但每次我进入ajax,javascript和php时,事情都让我感到困惑。我的代码是: -
$returned_content=get_data($value->URL."&sDate=".$sdate."&eDate=".$edate);
//url gives the latitude and longitude
$xmlObj = simplexml_load_string($returned_content);
$json=$xmlObj->GetGPSData;
error_log($json);
$json_decode=json_decode($json);
foreach($json_decode as $row){
$lat_d= $row->Latitude;
echo("\n");
$long_d= $row->Longitude;
}
<html>
<head>
<?php
// <meta http-equiv="refresh" content="40" />
?>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api
/js?sensor=false"></script>
<script type="text/javascript">
var map;
function initialize() {
xar latlng = new google.maps.LatLng(<?php echo $lat_d; ?>, <?php echo $long_d; ?>);
var myOptions = {
zoom: 16,
center: latlng,
panControl: true,
zoomControl: true,
scaleControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
<?php
echo "addMarker(new google.maps.LatLng(".$lat_d.", ".$long_d."), map);";
?>
}
var icon = new google.maps.MarkerImage(
"http://4vector.com/i/free-vector-yellow-bus-clip-art_109340_Yellow_Bus_clip_art_hight.png",
null, //size is determined at RUNTIME
null, // origin is 0,0
null, // anchor is bottom center of the scaled image
new google.maps.Size(62,22)
);
function addMarker(latLng, map) {
var marker = new google.maps.Marker({
position: latLng,
map: map,
icon: icon,
draggable: true, // enables drag & drop
animation: google.maps.Animation.DROP
});
return marker;
}
</script>
</head>
<body onload="initialize()">
<div style="float:left; position:relative; width:550px; border:0px #000 solid;">
<div id="map_canvas" style="width:1421px;height:700px;border:solid black 1px;"></div>
</div>
</body>
</html>
我将非常感谢能够帮助我的人。因为它现在超越了我的头脑
答案 0 :(得分:0)
我认为你不能在javascript中使用php代码,就像你在html中使用它一样。
相反,尝试使用(JQuery)AJAX调用来访问外部php脚本,并从那里获取结果。
示例:
var myLongLat = 0;
$.post('getLongLat.php', { id: 1}, function(result) {
myLongLat = result;
});