Codeigniter - 如何将 foreach 值传递到数组内部
Codeigniter - how to passing foreach value to inside of array
我使用 CodeIgniter 3 和 http://biostall.com/codeigniter-google-maps-v3-api-library/ 的库。
当我从数据库中取出数据并将其放入多边形点时,我遇到了一些错误。
Severity: Warning Message: trim() expects parameter 1 to be string,
array given Filename: libraries/Googlemaps.php
Line Number: 2179
我的控制器功能:
public function testing()
{
$config['center'] = '-8.1768084, 113.6559507';
$config['zoom'] = 'auto';
$this->googlemaps->initialize($config);
$kecamatan = $this->Peta_model->get_kecamatan();
foreach ($kecamatan as $k) {
$kcmt = $k->name;
$coor = $this->Peta_model->get_coor_by_kcmt($kcmt);
if ($coor) {
$polygon = array(
'points' => array() ,
'strokeColor' => '#000099' ,
'fillColor' => '#000099' ,
);
foreach ($coor as $c) {
$polygon ['points'][] = array("'".$c->latitude.",".$c->longitude."'");
}
$this->googlemaps->add_polygon($polygon);
}
}
$user = $this->ion_auth->user()->row();
$user_level = $this->ion_auth->get_users_groups($user->id)->row();
$data = array(
'user' => $user ,
'user_level' => $user_level ,
'title' => 'Peta' ,
'content' => 'peta/v_peta' ,
'map' => $this->googlemaps->create_map(),
);
$this->load->view('dashboard/layout', $data);
}
通常添加的多边形是:
$polygon = array(
'points' => array('37.425, -122.1321',
'37.4422, -122.1622',
'37.4412, -122.1322',
'37.425, -122.1021') ,
'strokeColor' => '#000099' ,
'fillColor' => '#000099' ,
);
$this->googlemaps->add_polygon($polygon);
我该如何解决?
您正在 $polygon ['points'][]
中存储一个数组。
我认为你应该存储一个字符串。喜欢..
$polygon ['points'][] = "'".$c->latitude.",".$c->longitude."'";
已解决!仅更改
$polygon ['points'][] = array("'".$c->latitude.",".$c->longitude."'");
至
$polygon ['points'][] = $c->latitude.','.$c->longitude;
谢谢@Muhammad Suhaib
我使用 CodeIgniter 3 和 http://biostall.com/codeigniter-google-maps-v3-api-library/ 的库。 当我从数据库中取出数据并将其放入多边形点时,我遇到了一些错误。
Severity: Warning Message: trim() expects parameter 1 to be string, array given Filename: libraries/Googlemaps.php Line Number: 2179
我的控制器功能:
public function testing()
{
$config['center'] = '-8.1768084, 113.6559507';
$config['zoom'] = 'auto';
$this->googlemaps->initialize($config);
$kecamatan = $this->Peta_model->get_kecamatan();
foreach ($kecamatan as $k) {
$kcmt = $k->name;
$coor = $this->Peta_model->get_coor_by_kcmt($kcmt);
if ($coor) {
$polygon = array(
'points' => array() ,
'strokeColor' => '#000099' ,
'fillColor' => '#000099' ,
);
foreach ($coor as $c) {
$polygon ['points'][] = array("'".$c->latitude.",".$c->longitude."'");
}
$this->googlemaps->add_polygon($polygon);
}
}
$user = $this->ion_auth->user()->row();
$user_level = $this->ion_auth->get_users_groups($user->id)->row();
$data = array(
'user' => $user ,
'user_level' => $user_level ,
'title' => 'Peta' ,
'content' => 'peta/v_peta' ,
'map' => $this->googlemaps->create_map(),
);
$this->load->view('dashboard/layout', $data);
}
通常添加的多边形是:
$polygon = array(
'points' => array('37.425, -122.1321',
'37.4422, -122.1622',
'37.4412, -122.1322',
'37.425, -122.1021') ,
'strokeColor' => '#000099' ,
'fillColor' => '#000099' ,
);
$this->googlemaps->add_polygon($polygon);
我该如何解决?
您正在 $polygon ['points'][]
中存储一个数组。
我认为你应该存储一个字符串。喜欢..
$polygon ['points'][] = "'".$c->latitude.",".$c->longitude."'";
已解决!仅更改
$polygon ['points'][] = array("'".$c->latitude.",".$c->longitude."'");
至
$polygon ['points'][] = $c->latitude.','.$c->longitude;
谢谢@Muhammad Suhaib