Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Giihh

Google Maps - Codeigniter

Recommended Posts

Olá


Como vcs trabalham com o maps no codeigniter??


Tentei com a biblioteca:





Mas da erro quando imprimo:


<?php echo $map['js']; ?> (no head)

<?php echo $map['html']; ?> (onde deve aparece o mapa)



Estou tentando o exemplo abaixo dentro da função mapa() do controller Home




Estou chamando a view home.


Devo configurar mais alguma coisa para funcionar o google maps no codeigniter?


Tentei até mesmo diretamente com o js do google, com Key e tudo mas o google alega chave invalida (sendo gerei no painel deles) permissão negada para a url.


Alguma ideia? um simples HTML com o exemplo do google funciona no localhost, e colocando o mesmo exemplo dentro do codeigniter não funciona... não tenho ideia do que acontece, tentei também na hospedagem e o mesmo resultado.



O arquivo .htaccess esta assim:


RewriteEngine on

RewriteBase /


RewriteCond $1 !^(index\.php|system|sitemap\.xml|css|js|img|robots\.txt)


RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?$1 [L]

# Habilitar o PHP 5.5

AddHandler application/x-httpd-php55 .php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho um exemplo feito aki com Codeigniter.

 

Se quiser posso repassar por email


Enviado..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada rleal, subi os arquivos que passou, e realmente funcionou.

 

Faço da mesma forma que você fez e não funciona no sistema que estou corrigindo.

 

A diferença é que o programador criou a view "inicio"

 

inicio.php

<?php $this->load->view('header'); ?>

			
			<?php $this->load->view('sidebar'); ?>	
		

			<div id="page-wrapper">
		
				<?php
				if (isset($path))
				{
					$this->load->view($path . '/' . $view);
				}
				else
				{
					$this->load->view($view);
				}
				?>
				
			</div>

<?php $this->load->view('footer'); ?>

Que chama cada uma das views (header, footer, sidebar, etc)

 

Perceba que na parte do conteudo que são views dinamicas (paginas diferentes) esta esse trecho:

if (isset($path))
				{
					$this->load->view($path . '/' . $view);
				}
				else
				{
					$this->load->view($view);
				}
				?>

Pra carregar a views diferentes no conteúdo, por exemplo o controller e view da home esta assim.

 

Controller Home.php

defined('BASEPATH') OR exit('No direct script access allowed');

class Home extends CI_Controller {

	private $var 	= array(
		'view' 		=> 'home'
		);

	public function __construct()
	{
		parent::__construct();

		$this->m_login->verifica_sessao();
	}
	
	public function index()
	{
		$this->load->view('inicio', $this->var);
	}
}

onde entendo que no trecho abaixo esta carregando a view inicio e a variavel que contem a view home.php que vai ser exibida no local do conteuco, que foi declarada no inicio do controller

$this->load->view('inicio', $this->var);

View home.php:

				<div id="title-breadcrumb-option-demo" class="page-title-breadcrumb">
					<div class="page-header pull-left">
						<div class="page-title">Home</div>
					</div>
					<ol class="breadcrumb page-breadcrumb pull-left">
						<li>
							<i class="fa fa-home"></i> 
							<a href="index">Home</a>  
							<i class="fa fa-angle-right"></i>  
						</li>
						<li class="hidden">
							<a href="#">Home</a>  
							<i class="fa fa-angle-right"></i>  
						</li>
						<li class="active">HOME</li>
					</ol>
					
					<div class="clearfix"></div>
				</div>
				
				<div class="page-content">
					<div id="tab-general">	


					<?php echo $map['html']; ?>			


					</div>
				</div>

Na view header, esta mais ou menos assim:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
	<title>Aqui o TITULO</title>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="cache-control" content="no-cache">
	<!--Icon-->
	
AQUI OS LINK CSS


<?php echo $map['js']; ?>
</head>

No contoller home eu tirei a função do código maps pois todas as formas que fiz deu errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que carregar a biblioteca.

 

ex:

 

defined('BASEPATH') OR exit('No direct script access allowed');

class Home extends CI_Controller

{
public function __construct()
{
parent::__construct();

$this->m_login->verifica_sessao();
}

public function index()
{
$this->load->library('googlemaps');

$config['center'] = '-5.091944, -42.803364'; //Latitude - Longitude
$this->googlemaps->initialize($config); //Inicia Library
$marker = array();
$marker['position'] = '-5.091944, -42.803364';
$this->googlemaps->add_marker($marker); //Cria marcador
$var['map'] = $this->googlemaps->create_map();

$this->load->view('inicio', $var);
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim eu carrego,

 

Mas por exemplo veja como estou tentando:

 

Controller Home.php:

defined('BASEPATH') OR exit('No direct script access allowed');

class Home extends CI_Controller {

	private $var 	= array(
		'view' 		=> 'home'
		);

	public function __construct()
	{
		parent::__construct();

		$this->m_login->verifica_sessao();
	}
	
	public function index()
	{

                $this->load->library('googlemaps');

		$config['center'] = '-5.091944, -42.803364';
		$this->googlemaps->initialize($config);

		$marker = array();
		$marker['position'] = '-5.091944, -42.803364';
		$this->googlemaps->add_marker($marker);
		$data['map'] = $this->googlemaps->create_map();

		$this->load->view('inicio', $this->var, $data);
	}	

}

A variavel $data contem as informações do mapa que serão passada pra view, minha dificuldade é como carregar essa variavel no $this->load->view

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta Assim:

 

defined('BASEPATH') OR exit('No direct script access allowed');

class Home extends CI_Controller

{
public function __construct()
{
parent::__construct();

$this->m_login->verifica_sessao();
}

public function index()
{
$this->load->library('googlemaps');

$config['center'] = '-5.091944, -42.803364'; //Latitude - Longitude
$this->googlemaps->initialize($config); //Inicia Library
$marker = array();
$marker['position'] = '-5.091944, -42.803364';
$this->googlemaps->add_marker($marker); //Cria marcador
$var = array(
'view' => 'home',
'map' => $this->googlemaps->create_map()
);

 

$this->load->view('inicio', $var);
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito! funcionou :D

 

Deus abençoe rleal era isso mesmo, até tentei com array mas estou aprendendo e com certeza estava no lugar errado estava fazendo ele dentro $this->load->view

 

Mais uma vez muito obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.