将php变量传递给google.maps javascript方法

时间:2012-06-11 13:25:10

标签: php javascript google-maps

我试图将两个变量(纬度和经度)传递给google.maps.StreetViewPanorama方法但没有成功。是可以这样做还是我失败了?

变量通过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>

我已经定义了新的javescript变量

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

那我要传递给google.maps.LatLng(jlat,jlon),但它不起作用。

有任何想法吗?

提前致谢

3 个答案:

答案 0 :(得分:1)

在$ lat = $ _GET [“lat”]

之后你没有忘记分号吗?

答案 1 :(得分: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>

答案 2 :(得分:1)

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

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