2012-06-11 35 views
1

我想传递两个变量(经度和纬度)的google.maps.StreetViewPanorama方法没有成功google.maps。有可能做到这一点,否则我失败了?传递PHP变量TH JavaScript方法

的变量通过URL传递:

http://mydomain/street.php?lat=41.653048&lon=-0.880677 

street.php的代码是:

<?php 
$lat = $_GET["lat"]; 
$lon = $_GET["lon"]; 
?> 

<html> 
    <head> 

     <meta name='viewport' content='width=320,user-scalable=no'/> 

     <script src='http://maps.google.com/maps/api/js?sensor=false' type='text/javascript' > 
      jlat = <?php echo $lat; ?> 
      jlon = <?php echo $lon; ?> 
     </script> 

    </head> 

    <body onload="new google.maps.StreetViewPanorama(document.getElementById('p'), 
     {position:new google.maps.LatLng(jlat, jlon) 
     });" 

    style='padding:0px;margin:0px;'> 

    <div id='p' style='height:100%;width:100%;'></div> 

    </body> 
</html> 

我的我已经fefined新javescript可变

jlat = <?php echo $lat ?> 
jlon = <?php echo $lon ?> 

那只母鸡传给google.maps.LatLng(jlat,jlon),但它不起作用。

对此有何想法?提前

+0

你说的“不工作”是什么意思?究竟发生了什么? <身体的onload =”:作为一个方面说明,我可能会用'VAR LAT = ...'和'VAR LON = ...' –

+0

脚本,如果我不使用的变量,例如工程声明这两个变量新google.maps.StreetViewPanorama(的document.getElementById( 'p'), \t \t {位置:新google.maps.LatLng(41.653048,-0.880677) \t \t});”但不与变量jlat和jlon – doxsi

+0

你仍然没有解释你的意思是“不工作”会发生什么?你得到什么错误? –

回答

1

我不认为你写你的JavaScript的方式是去工作

谢谢。具体来说,如果您包含来自外部文件的JavaScript,则不应在其中包含更多代码。试着改变你的代码如下:

<?php 
$lat = $_GET["lat"]; 
$lon = $_GET["lon"]; 
?> 

<html> 
    <head> 
     <meta name='viewport' content='width=320,user-scalable=no'/> 

     <script type="text/javascript"> 
      var jlat = <?php echo $lat ?>; 
      var jlon = <?php echo $lon ?>; 
     </script> 

     <script src='http://maps.google.com/maps/api/js?sensor=false' type='text/javascript' > 
     </script> 
    </head> 

    <body onload="new google.maps.StreetViewPanorama(document.getElementById('p'), 
     {position:new google.maps.LatLng(jlat, jlon)});" style='padding:0px;margin:0px;'> 

    <div id='p' style='height:100%;width:100%;'></div> 

    </body> 
</html> 
+0

谢谢,它的工作原理! – doxsi

1

你没忘了后$ LAT = $ _GET分号[“LAT”]

+0

+1发现它,但我不知道这是否是根本原因。 OP没有真正说出他的意思是“不起作用” –

+0

我很抱歉,但是“;”只是一个复制和粘贴错误。我只是编辑问题... – doxsi

1

现在添加分号在JavaScript中......

var jlat = <?php echo $lat ?>; 
var jlon = <?php echo $lon ?>; 
+0

谢谢你,这个poroblem正如Aleks G在javascript中所说的和分号! – doxsi