Php 谷歌地图库代码点火器问题

Php 谷歌地图库代码点火器问题,php,codeigniter,google-maps,Php,Codeigniter,Google Maps,我一直在使用谷歌地图和codeigniter做一些项目 我试过谷歌地图库中的codeigniter 我正在尝试从数据库中存储的纬度和经度绘制多段线 当使用标记时,它做得很好,但当我使用多段线时,图形无法控制,有人能给我一些指针吗 这是我一直在使用的代码 控制器: 如果(!defined('BASEPATH'))退出('No direct script access allowed'); 类映射扩展CI_控制器{ 函数_u构造() { 父项::_构造(); } 函数索引() { //加载库 $t

我一直在使用谷歌地图和codeigniter做一些项目 我试过谷歌地图库中的codeigniter 我正在尝试从数据库中存储的纬度和经度绘制多段线 当使用标记时,它做得很好,但当我使用多段线时,图形无法控制,有人能给我一些指针吗

这是我一直在使用的代码 控制器:

如果(!defined('BASEPATH'))退出('No direct script access allowed');
类映射扩展CI_控制器{
函数_u构造()
{
父项::_构造();
}
函数索引()
{
//加载库
$this->load->library('googlemaps');
//加载我们的模型
$this->load->model('map\u model','',TRUE);
//通过任何参数初始化映射
$config['center']='7112';
$config['zoom']=“自动”;
$this->googlemaps->initialize($config);
//使用我们的模型从数据库中获取坐标
$coords=$this->map_model->get_坐标();
$x=0;
//循环使用我们在上面获得的坐标,并将它们添加到地图中
foreach($coords作为$coordinate)
{
$x++;
如果($x%2==1)
{
$elat=$coordinate->lat;
$elong=$coordinate->long;
/*打印$elat;
打印$elong*/
打印“
”; } 如果($x%2==0) { $lat=$coordinate->lat; $long=$coordinate->long; /*打印$lat; 打印$long*/ 打印“
”; } 如果($x>1&&$x谷歌地图->添加多段线($polyline); 打印$x; 打印“
”; 打印“(”; 打印$elat; 打印$elong; 打印“
”; 打印$lat; 打印$long; 印刷品“)”; } 如果($x%2==1) { $polyline=array(); $polyline['points']=数组('$lat,$long','$elat,$elong'); $this->googlemaps->add_polyline($polyline); 打印$x; 打印“
”; 打印“(”; 打印$elat; 打印$elong; 打印“
”; 打印$lat; 打印$long; 印刷品“)”; } } $marker=array(); $marker['position']=$coordinate->lat.,'.$coordinate->long; $this->googlemaps->add_marker($marker); } /*foreach($coords作为$coordinate) { $marker=array(); $marker['position']=$coordinate->lat.,'.$coordinate->long; $this->googlemaps->add_marker($marker); $polyline=array(); $polyline['points']=数组($coordinate->lat,$coordinate->long.,); $this->googlemaps->add_polyline($polyline); }*/ //创建地图 $data=array(); $data['map']=$this->googlemaps->create_map(); //通过地图数据加载我们的视图 $this->load->view('map\u view',$data); }
}
我注意到了这一点。您的$elat、$elong、$lat、$long都在for each循环中声明。请尝试在循环之前以默认值0声明它们,就像您的$x一样。谢谢,所以请注意,但是运气不好,兄弟,还是一样