在javascript中自动刷新谷歌地图 [英] Refreshing google maps in javascript automatically

查看:108
本文介绍了在javascript中自动刷新谷歌地图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果数据库中存在的变量纬度和经度发生变化,我想自动在javascript中刷新谷歌地图中的位置。



我的代码:工作正常。但它显示了静态地图。我想在数据库中显示当前位置而不是静态位置。我添加了一个刷新按钮。但这不是一种有效的方法。所以帮我自动刷新位置。在此先感谢。



//代码从这里开始// javascript代码在最后



locate_driver.php



$ did = $ _POST [did];

$ cid = $ _POST [cid];



$ con = mysqli_connect(mysql4.000webhost.com,username,password,database_name);



if(mysqli_connect_errno($ con))

{

echo无法连接到MySQL:。 mysqli_connect_error();

}



if($ cid == null)

{

$ sql =SELECT busno,纬度,经度,noofpassengers FROM schedule where did = $ did;

$ result = mysqli_query($ con,$ sql)或die(mysql_error() ); $



while($ array = mysqli_fetch_array($ result))

{

$ busno = $ array ['busno'];

echo Bus No:;

echo $ busno; echo
;

$ lat = $ array ['latitude'];

echoLatitude:;

echo $土地增值税; echo
;

$ long = $ array ['longitude'];

echo经度:;

echo $长; echo
;

$ nop = $ array ['noofpassengers'];

if($ nop!= null)

{

echo没有乘客:;

echo $ nop; echo
;

}

else

{echoNA; }

}

}



其他

{

$ sql =SELECT busno,纬度,经度,noofpassengers FROM schedule cid = $ cid;

$ result = mysqli_query($ con,$ sql)或die(mysql_error()) ;



while($ array = mysqli_fetch_array($ result))

{

$ busno = $ array ['busno'];

echo巴士号:;

echo $ busno; echo
;

$ lat = $ array ['latitude'];

echoLatitude:;

echo $土地增值税; echo
;

$ long = $ array ['longitude'];

echo经度:;

echo $长; echo
;

$ nop = $ array ['noofpassengers'];

echo没有乘客:;

echo $ nop; echo

;

}

}



?>



< html>

< body onload =sp()>







< form action =locate_driver.phpmethod =POST>

< input type =hiddenname =didvalue =>

< input type =hiddenname =cidvalue = >

< input type =submitvalue =刷新>

< / form>







< script src = http://maps.google.com/maps/api/js?sensor=false\"></script>



< script>

var x = document.getElementById(demo);



函数sp(){

lat =;

lon =;

latlon = new google.maps.LatLng(lat,lon)

mapholder = document.getElementById('mapholder')

mapholder.style.height ='320px';

mapholder.style.width ='270px';



var myOptions = {

center:latlon,zoom:14,

mapTypeId:google.maps.MapTypeId.ROADMAP,

mapTypeControl:false ,

navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL}

}



var map = new google.maps.Map(document.getElementById(mapholder),myOptions);

var marker = new google.maps.Mark呃({位置:latlon,地图:地图,标题:公共汽车在这里!});

}



功能showError(错误){

switch(error.code){

case error.PERMISSION_DENIED:

x.innerHTML =用户拒绝地理位置请求。

休息;

大小写error.POSITION_UNAVAILABLE:

x.innerHTML =位置信息不可用。

break;

case error.TIMEOUT:

x.innerHTML =让用户位置超时的请求。

break;

案例错误.UNKNOWN_ERROR:

x.innerHTML =发生未知错误。

休息;

}

}

< / script>



< / body>

< / html>







解决方案

did =


< blockquote> _POST [did];


cid =


I want to refresh location in google maps in javascript automatically if variables latitude and longitude present in the database changes.

My code : It is working fine. But it shows a static map. I want to show current location in database and not a static location. I added a refresh button. But it is not an effective method. So help me to refresh location automatically. Thanks in advance.

//code starts here //javascript code is in last

locate_driver.php

$did = $_POST[did];
$cid = $_POST[cid];

$con=mysqli_connect("mysql4.000webhost.com","username","password","database_name");

if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

if($cid==null)
{
$sql = "SELECT busno, latitude, longitude, noofpassengers FROM schedule where did=$did";
$result = mysqli_query($con,$sql) or die(mysql_error());

while ($array = mysqli_fetch_array($result))
{
$busno=$array['busno'];
echo " Bus No : ";
echo $busno; echo "
";
$lat = $array['latitude'];
echo "Latitude : ";
echo $lat; echo "
";
$long=$array['longitude'];
echo "Longitude : ";
echo $long; echo "
";
$nop=$array['noofpassengers'];
if($nop!=null)
{
echo " No of passengers : ";
echo $nop; echo "
";
}
else
{ echo "NA"; }
}
}

else
{
$sql = "SELECT busno, latitude, longitude, noofpassengers FROM schedule where cid=$cid";
$result = mysqli_query($con,$sql) or die(mysql_error());

while ($array = mysqli_fetch_array($result))
{
$busno=$array['busno'];
echo " Bus No : ";
echo $busno; echo "
";
$lat = $array['latitude'];
echo "Latitude : ";
echo $lat; echo "
";
$long=$array['longitude'];
echo "Longitude : ";
echo $long; echo "
";
$nop=$array['noofpassengers'];
echo " No of passengers : ";
echo $nop; echo "

";
}
}

?>

<html>
<body onload="sp()">



<form action="locate_driver.php" method="POST">
<input type="hidden" name="did" value="">
<input type="hidden" name="cid" value="">
<input type="submit" value="Refresh">
</form>



<script src="http://maps.google.com/maps/api/js?sensor=false"></script>

<script>
var x = document.getElementById("demo");

function sp() {
lat = ;
lon = ;
latlon = new google.maps.LatLng(lat, lon)
mapholder = document.getElementById('mapholder')
mapholder.style.height = '320px';
mapholder.style.width = '270px';

var myOptions = {
center:latlon,zoom:14,
mapTypeId:google.maps.MapTypeId.ROADMAP,
mapTypeControl:false,
navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL}
}

var map = new google.maps.Map(document.getElementById("mapholder"), myOptions);
var marker = new google.maps.Marker({position:latlon,map:map,title:"Bus is here!"});
}

function showError(error) {
switch(error.code) {
case error.PERMISSION_DENIED:
x.innerHTML = "User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML = "The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML = "An unknown error occurred."
break;
}
}
</script>

</body>
</html>







解决方案

did =


_POST[did];


cid =


这篇关于在javascript中自动刷新谷歌地图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆