【问题标题】:How to pass php array to javascript in form of json?如何以json的形式将php数组传递给javascript?
【发布时间】:2018-09-06 06:32:26
【问题描述】:

我有这个 php 数组

Array
(
    [66] => Array
        (
            [lat] => 19.0632
            [long] => 72.8446
        )

)
Array
(
    [296] => Array
        (
            [lat] => 29.252192
            [long] => 76.4519704
        )

)
Array
(
    [631] => Array
        (
            [lat] => 1000
            [long] => 2500
        )

)
Array
(
    [632] => Array
        (
            [lat] => 1000
            [long] => 30000
        )

)

并跟随js代码显示地图

var myCenter = new google.maps.LatLng(19.0632,72.8446);
  var mapCanvas = document.getElementById("map");
  var mapOptions = {center: myCenter, zoom: 14};
  var map = new google.maps.Map(mapCanvas, mapOptions);
  var marker = new google.maps.Marker({position:myCenter});
  marker.setMap(map);

我想要什么?我想使用上面的 JS 代码在地图上显示 PHP 数组中的所有位置。

如何使用 foreach 将所有这些纬度和经度传递给变量“myCenter”?

有什么方法可以将PHP数组传递给js吗?

【问题讨论】:

  • 您可以将PHP数组存储到javascript中并使用for循环创建LatLng的对象。

标签: javascript php arrays google-maps


【解决方案1】:

请试试这个代码。

$products = array(
    array('choc_cake', 'Chocolate Cake', 15),
    array('carrot_cake', 'Carrot Cake', 12),
    array('cheese_cake', 'Cheese Cake', 20),
    array('banana_bread', 'Banana Bread', 14)
);
?>
<script type="text/javascript">
var products = <?php echo json_encode( $products ) ?>;
alert( products[0][1] ); // Chocolate Cake
</script>

【讨论】:

    【解决方案2】:

    你必须这样通过

    <script>
    var result = <?php echo json_encode($result) ?>;
    $.each(result, function (i, elem) {
        var myCenter = new google.maps.LatLng(elem.lat,elem.long);
      // do your stuff
    });
    <script>
    

    注意:$result 是您定义的数组

    【讨论】:

      猜你喜欢
      • 2014-03-05
      • 2012-04-04
      • 2011-05-16
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-11
      相关资源
      最近更新 更多