我正在尝试使用数据库中的结果填充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);