Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite pessoal,
Pesquisei no tópico sobre ajax e não encontrei nada a respeito.
Bom eu estou montando um guia de buscas, e ao clicar na foto ou descrição da empresa eu faço uma chamada com jquery para um arquivo php onde retorno um html, isso utilizando colorbox para ficar no estilo modal.Até ai tudo bem estou fazendo buscas do banco de dados retornando os valores dinamicamente show de bola, porém tive a ideia de deixar algo mais legal então resolvi colocar em um pequeno espaço dentro dessa janela modal uma div que irá conter o mapa marcado pelo google maps dinamicamente para cada empresa óbvio. Funcionou show de bola passo os parametros de laitude e longitude e retorno o esquema na div com o mapa do sujeito. O problema está quando o cara clica uma vez aparece legal, só que ao requisitar o mesmo ajax clicando novamente na foto da empresa essa div fica meio torta é como se fosse que não carregasse o conteúdo certo, pois o javascript esta dentro do arquivo.php que contém os dados para dar retorno pois é dinâmico e a div tbm está ali dentro onde contém o mapa, pois se eu testo fora do ajax e fico dando f5 sempre atualiza os dados e vem marcado no mesmo lugar, agora com o ajax só funciona na primeira vez, mas conferi a latitude etc e estão la certinho, pensei que seria cache então eu tirei o controle de cache com as meta tag e nada mudou. ai eu tive uma ideia de quando receber o retorno da requisição dessa colorbox modal, eu setar um innerHTML na div com o script fora do ajax mas não consigo saber se deu sucess por exemplo pois a chamada é feita apenas pelo colorbox não existe uma requisição usando o .$ajax do jQuery de fato.
Detalhe a versão da api que estou usando do google é a v3.
Exemplo do fonte:
parte da requisição pelo colorbox através da classe:
//no cliente
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
jQuery(".sobre_post").colorbox({escKey:false,overlayClose:false,scrolling:false,width:"780px",height:"400px"});
//no servidor na requsição
<?php
header("Cache-Control: no-cache, must-revalidate");header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
?><script type="text/javascript">
latlng = new google.maps.LatLng(-27.054081023256,-49.51508748139535);
var myOptions =
{
zoom: 18,
center: latlng,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker = new google.maps.Marker({
position: latlng,
map: map
});
</script>
<php
$html = "<table>
<tr>
<td style='text-align:center;vertical-align:center;'>
<div class='resultado'>
<div id='map_canvas'></div>
</div>
</td>
</tr>
</table>";
echo $html;Carregando comentários...