Google지도에 내 gps 좌표를 자동으로 표시하는 데 문제가 있습니다. 맵을 정적으로 구현하면 모든 것이 잘 작동하지만 지금은 동적으로 시도합니다. 즉, 새로운 GPS 코디가 데이터베이스에 저장 될 때 맵은 자동으로 새로 고쳐 져야합니다.AJAX로 자동 MySQL 쿼리 및 결과 출력
모든 것을 하나의 .php 파일에 구현했습니다. 항목을 선택하는 좌표와지도를 사용자에게 있어야 표시하려면 항목에 대한 링크는 다음과 같습니다 - 나는지도 그것에 하나 새로 고침 I 후 경로를 볼 수있는 첫 번째 새로 고치기 전에>http://trackmyrun1.at/index.php?page=show_runs&data1=get&data2=1
<?php
$result = mysql_query("SELECT * FROM fifa_gps WHERE run_id=".$_GET['data2']."");
while ($line = mysql_fetch_array($result)) {
$cords[] = "new google.maps.LatLng(" . $line['lat'] . ", " . $line['longt'] . "),";
}
$cord_start = explode("(", $cords[0]);
$cord_pos_start = explode(")", $cord_start[1]);
$cord_end = explode("(", $cords[count($cords)-1]);
$cord_pos_end = explode(")", $cord_end[1]);
echo $sys->overall_distance($_GET['data2']);
?>
<div id="map-canvas" style="height:400px"/>
<script type="text/javascript">
var seconds = 1;
var divid = "map-canvas";
var url = "http://localhost/alt/FIFA-Europaliga/index.php?page=show_runs&data1=get&data2=<?php echo $_GET['data2']; ?>";
function refreshdiv(){
// The XMLHttpRequest object
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
}
catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
alert("Your browser does not support AJAX.");
return false;
}
}
}
// Timestamp for preventing IE caching the GET request
fetch_unix_timestamp = function()
{
return parseInt(new Date().getTime().toString().substring(0, 10))
}
var timestamp = fetch_unix_timestamp();
var nocacheurl = url+"?t="+timestamp;
// The code...
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
document.getElementById(divid).innerHTML=xmlHttp.responseText;
setTimeout('refreshdiv()',seconds*1000);
}
}
xmlHttp.open("GET",nocacheurl,true);
xmlHttp.send(null);
}
// Start the refreshing process
var seconds;
window.onload = function startrefresh(){
setTimeout('refreshdiv()',seconds*1000);
}
<!--
refreshdiv();
// -->
</script>
<script type="text/javascript">
function initialize() {
var myLatLng = new google.maps.LatLng(<?php echo $cord_pos_start[0]; ?>);
var mapOptions = {
zoom: 15,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var flightPlanCoordinates = [
<?php echo implode('', $cords); ?>
];
var image_start = 'http://labs.google.com/ridefinder/images/mm_20_green.png';
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title:"Start",
icon: image_start
});
var image_end = 'http://labs.google.com/ridefinder/images/mm_20_red.png';
var endMarker = new google.maps.Marker({
position: new google.maps.LatLng(<?php echo $cord_pos_end[0]; ?>),
map: map,
title:"Ende",
icon: image_end
});
var flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 0.5,
strokeWeight: 5
});
flightPath.setMap(map);
}
initialize();
</script>
....
이 오류를 얻으십시오 :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Alt\FIFA-Europaliga\content\show_runs.php on line 4
Notice: Undefined variable: cords in C:\xampp\htdocs\Alt\FIFA-Europaliga\content\show_runs.php on line 8
Notice: Undefined offset: 1 in C:\xampp\htdocs\Alt\FIFA-Europaliga\content\show_runs.php on line 9
Notice: Undefined variable: cords in C:\xampp\htdocs\Alt\FIFA-Europaliga\content\show_runs.php on line 11
누군가 나를 도울 수 있습니까?
index.php 파일에 databse로 연결됩니다. show_runs 파일이 index.php에 포함 된 다음 querry를 엽니 다. – user2326712
다른 가능한 대답은 쿼리가 실패한다는 것입니다. 데이터베이스 서버에서 쿼리를 실행할 수 있습니까? 내 생각 엔 당신이 실수를하게 될 것입니다. – mbarlocker
처음 새로 고침하기 전에지도가 표시된 올바른지도를 얻습니다. 두 번째 새로 고침을 실행하면 그 오류가 throw됩니다. – user2326712