我试图将两个变量(纬度和经度)传递给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),但它不起作用。
有任何想法吗?
提前致谢
答案 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 ?>;