如何将php变量传递给javascript map函数

时间:2014-05-24 11:53:44

标签: javascript php

只想将php变量$ x和$ y传递给javascript map函数(如lat和long)。请帮忙。 这是我的控制器:

<?php
$x = 25.114667;
$y = 55.137797;
?>

这是我的JS文件:

function initialize()
    {
    var myCenter = new google.maps.LatLng(lat,long);
    var mapOptions = {
      center:myCenter,
      zoom:12,
      mapTypeId:google.maps.MapTypeId.ROADMAP
      };
    var map=new google.maps.Map(document.getElementById("googleMap")
      ,mapOptions);

    }   google.maps.event.addDomListener(document.getElementById('showhidemap'), 'click', initialize);

3 个答案:

答案 0 :(得分:2)

你在js变量latlong中传递字符串。直接赋值为float 试试这个

 var lat = <?php echo $x; ?>;
 var long = <?php echo $y; ?>;

还必须在Google地图初始化的上方包含带谷歌地图密钥的脚本。

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=GOOGLE_MAP_KEY&sensor=true"> </script>
必须为您的网站生成

GOOGLE MAP KEY:

看到一些网址可能会帮到你

https://developers.google.com/maps/tutorials/fundamentals/adding-a-google-map
https://developers.google.com/maps/signup?csw=1
https://developers.google.com/maps/documentation/javascript/tutorial

答案 1 :(得分:0)

您是否尝试添加

$x = 25.114667;
$y = 55.137797;

到某些标签,如

<div data-lat="<?php echo $y; ?>" data-long="<?php echo $y; ?>" id="showhidemap">show map</div>

答案 2 :(得分:0)

您需要在.php 文件中创建一个Javascript对象就在您包含javascript文件之前(包含上述片段的文件),这将填充根据您的经度/纬度信息。 像这样:

您的PHP文件

<html>
   ...
   <script type="text/javascript">
      var mapLangLat = {
         long:<?php echo $x; ?>,
         lati:<?php echo $y; ?>
      };
   </script>
   <script src="my_remote_script.js"></script>
   ...

您的JAVASCRIPT文件

<script>
function initialize()
    {

    var lat = window.mapLangLat.lati;
    var long = window.mapLangLat.long;

    ...

需要找到上面的PHP部分才能编写那个小javascript对象。