我正在尝试使用数据库中的结果填充Google Map API。我的计划是将查询结果传递给Javascript,以便它可以在Lat和Lng输出上绘制标记。

///Model
public function getLatLng(){
 $this->db->select('*');
 $this->db->from('tbl_loc');
 $query = $this->db->get();
 return json_encode($query->result());
 }

///Controller
public function populateMaps(){
 $data['loc'] = $this->user_model->getLatLng();
 $this->load->view('maps', $data);
 }


///View
<div id="getAddress">
<?php foreach($loc as $lc){
 echo $lc;
 ?>
</div>


///JS
var getAllData = JSON.parse(document.getElementById('getAddress').innerHTML);
showAllLoc(getAllData);

function showAllLoc(getAllData){
Array.prototype.forEach.call(getAllData, function()){
 var marker = new google.maps.Marker({
      position : new google.maps.LatLng(getAllData.Lat, getAllData.Lng),
      map : map
 });


 }


我想念什么吗?还是我的代码有问题?我是Codeigniter的新手,所以任何帮助都可以。谢谢! :D

编辑:返回模型中的可能输出时,就像here中的输出一样,我已经完成了json_encode。我想弄清楚的是为什么它不在div中显示结果。

最佳答案

您可以使用此代码,它在我测试过后可以正常工作。

$tbl_loc = $this->db->get('tbl_loc')->result_array();
return json_encode($tbl_loc);

10-08 06:02