在javascript中自动刷新谷歌地图 [英] Refreshing google maps in javascript automatically
问题描述
如果数据库中存在的变量纬度和经度发生变化,我想自动在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屋!