0

我正在使用代码点火器。这是我在 obj 数组中查询结果的 php 代码,那么我如何将它们传递给 js。我想在谷歌地图中使用它

    <?php
    foreach ($query->result() as $row)
    {
        $lat = $row->geo_lat;
        $lng = $row->geo_lng;
        $pic = $row->picture;
        echo $lat;
        echo $lng;
        echo "<img src=\"" . base_url() . $pic . "\"/><br />";
        //echo json_encode($row);
        //echo "<pre>";
        //echo print_r($row);
    }
?>

js代码

var locations = ?????????;
var marker, i;
  for (i = 0; i < locations.length; i++) { 
    marker = new google.maps.Marker({
      position: new google.maps.LatLng(locations[i][0], locations[i][1]),
      map: map,
      draggable: true
    });
  }
4

3 回答 3

3

您可以在有或没有 ajax 的情况下使用它。

您可以使用 json_encode() 简单地将整体result以 json 格式添加到 js 变量中,例如:

<script>
    var js_obj=<?php echo  json_encode($result); ?>
  /* now you can access this json object that is in js_obj variable and acccess any thing you want using dot operator.*/
</script>

你的问题不是很清楚,所以如果你在某种不同的意义上问,那么请清楚,以便我可以专注于实际问题。

于 2012-09-07T20:38:42.290 回答
0

您需要使用AJAX让您的 JS 代码请求 PHP 页面。PHP 页面将处理请求,并以 JSON 格式返回适当的数据(json_encode()在结果对象上使用)。

于 2012-09-07T20:31:29.587 回答
0

您可以使用 PHP 发出 Javascript...为什么不直接对所有结果进行 JSON 编码并将它们存储在您的locations变量中,如下所示:

<?php 
    echo( "<script>" );
    echo( "  var locations = " + json_encode($query->result()) + ";" );
    echo( "</script>" );
?>
于 2012-09-07T20:41:01.233 回答