Olá pessoal,

Bom, deixa eu atualizar as informações que tenho, assim vocês vão poder me
ajudar melhor e, no futuro protegerem-se desse problema.

Como havia comentado, o problema ocorre em operas anteriores ou iguais ao
9.25 (acho que é a maioria da base instalada -- incluindo o Opera do
Nintendo Wii e dos celulares J2me que também têm problemas). Ontem a noite
comecei vários testes. Substituí meu  *layout* map.ctp  por um conteúdo
padrão Google (sugerido na página das APIs). Usei o Nintendo Wii como
benchmark (o browser do Wii é provido pelo Opera). Claro, essa mudança
radical funcionou pois, não usava nada do cake, nem das minhas *views*.

Usando esse modelo do google, acrescentei apenas um:

<?php echo $content_for_layout;?>

E imediatamente não funcionou mais (no Opera do Wii), no Firefox e IE tudo
beleza como antes. Opa, então o problema estava, ou no *helper* ou na view
plotter.ctp. Isso eliminou problemas no *layout* map.ctp. Então fui na *view
* plotter.ctp e comecei a enxugar tudo. Eu tinha dois DIVs dentro dessa
view, um iria conter o mapa e outro conteria campos. Matei ambos, deixei só
o *helper* trabalhando e bingo. Funcionou no Wii, FF e IE.

Deduzi então que fosse problema com DIV e fui googlear. Descobri problemas
muito antigos com DIV mas nenhum cabia no meu caso. De qualquer forma abri o
*helper *e verifiquei que seu autor, Mahmoud Lababidi, usou o objeto GMap e
não o GMap2 que, segundo o Google, possui mais funcionalidades (e,
certamente mais *bugfixes*). Fiz algumas alterações no *helper* para acomdar
o GMap2 e suas incompatibilidades com o GMap. Tudo funcionou glorioso no
Wii, FF e IE. Até uns problemas de *loading* que, as vezes, aconteciam no IE
(6 e 7) sumiram. ÓTIMO!

Voltei os DIV que haviam na *view* plotter.ctp. Claro, não funcionou mais no
Wii. Pesquisei, pesquisei e não achei nada. Tentei algumas dicas de
compatibilidade, até que decidi: dá para conviver sem esses dois DIV! Tirei
os DIV e tudo voltou a funcionar. Voltei então para o map.ctp (*layout*)
afim de restaurá-lo para os padrões do *site*. Coloquei cabeçalho com
título, CSS e demais variáveis do cake. Voltei a chamar as APIs do google
através do *helper* Javascript e pau! Parou de funcionar. Nesse momento
senti uma vontade grande de xingar alguém hihihi. Respirei fundo e notei
que, no layout do cake (no qual estou baseado), a seguinte estrutura de
DIVs:

<div container>
  <div header>
  <div content for layout>
  <div footer>
<logs de debug>

Claro que os nomes não são estes... Por sua vez, o div que acomodar o
$content_for_layout se desdobra em:

<div canvas>
  <div map>
<div texto/campos>

Como eu disse, retirei os DIV canvas e "texto/campos" (os nomes não são
estes, é só para fazer alusão ao conteúdo) ficando apenas com o div map que
é criado pelo *helper* para acomodar o mapa (dentro dele o google enfia um
zilhão de outros div). Então, a estrutura completa fica:

<div container>
  <div header>
  <div content for layout>
    <div map>
  <div footer>
<logs de debug>

Isso já após retirar os DIV que estavam dando problema. Notei então que, no
*layout* parecido com o cake, o div map fica dentro de outros dois div.
Testei apagando o div container e o div content for* layout*. Ou seja, o div
map reside diretamente no body da página. Voltou a funcionar no Opera do
Wii, só que a página perde um pouco da identidade visual, principalmente, o
mapa agora flutua sobre o debug, coisas estranhas acontecem as vezes. Mas já
é um *workaround* temporariamente aceitável.

Então, o problema está nos DIV, um dentro do outro. Parece que o Opera tem
dificuldades com isso. Porém, nas minhas mexidas, não detectei o que, mas
parece que esse defeito está relacionado ao estilo do DIV pois com o div map
dentro do div content for layout eu consegui, mais ou menos, visualizar um
mapa no Wii depois de matar vários CSS. Porém, mesmo assim com alguns
problemas. Alguém sabe algo sobre esse problema?

Bom, na minha busca por uma solução acabei tropeçando e algo mais sujo e que
não sei explicar. Em nenhum momento o Google Maps deu pau (a ponto de não
abrir o mapa e abrir apenas os controles) no FF e no IE, mas, ao tentar
deixar o layout próximo do recomendado pelo Google, coloquei a linha DOCTYPE
que estava faltando. Pronto, não funcionou em nenhum browser mais. Usei a
XHTML strict e transitional mas com essas linhas tenho problemas em todos os
browser. Exemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>

Retirando tal linha do map.ctp (*layout*) tudo volta a funcionar. Resolvi
então validar o documento no w3c. Colocando o DOCType recebo 100% *
compliance* (fiz alterações para chegar nisso), sem a linha recebo 100% *
compliance* com aviso de que o doctype não foi definido explicitamente.
Mesmo estando 100% *compliance* o FF, IE e Opera dão pau, tirando a linha
doctype (e continuando *compliance* mas com ressalva) funciona no FF e no IE
mas não no Opera.

Isso me fez pensar se não tem algum outro problema que não estou enxergando
além dos DIV. Por que a linha DOCTYPE (que funciona no layout padrão do
cake) faz o FF/IE quebrarem? Eu copiei e colei a linha de vários locais
diferentes e sempre tenho o mesmo problema. Tentei digigar e nada. (não era
erro de digitação pois nem via *copy and paste*). Neste caso, alguém tem
alguma idéia?

Não deu tempo ontém de subir as alterações para a Web enão, a versão em
http://sistemas.gbvudx.org/disclosed_stations/plotter/ (mantenha a / no
final) é aquela que:

1) não funciona no Opera mas funciona no IE/FF/Safari.
2) não ainda usa GMap ao invés de GMap2

Porém o *layout* produzido é o mesmo que causa problemas no Opera. E o mesmo
que, se acrescentar DOCTYPE dá problemas em todos os navegadores. Agradeço
qualquer ajuda e subo os código necessários para análise.

Em tempo, quero deixar claro que "não funcionar no Wii" significa que o DIV
com o mapa não aparece mas os controles do mapa (flutuantes sobre ele )
aparecem e respondem a clicks, a linha de copyright do mapa também aparece.
Veja:
http://browsershots.org/http://sistemas.gbvudx.qsl.br/disclosed_stations/plotter/os
screenshots dos brownser (os Opera
9.25 são extamentes como no Wii (tirando que o Wii não tem janelas)).

Obrigado,
Benito.

2008/2/13 Josenivaldo Benito Junior <[EMAIL PROTECTED]>:

> Oi Juan,
>
> Que foi na parte que eu fiz ou que é alguma incompatibilidade com scripts
> do cake (acho difícil) não há dúvidas. Eu pedi uns browser shots (
> http://www.brownsershots.org - fantástico) do meu site e do
> http://maps.google.com para ver como ficava. Com isso descobri que o
> Google Maps oficial funciona em tudo que é browser do universo (to
> exagerando, mas em todos com os quais precismos nos preocupar funciona) e
> descobri também que o problema do meu site é com o Opera 9.25 ou inferior,
> na nova versão 9.50 funciona. Isso já deu alguma luz no fim do túnel.
>
> Quanto ao código, aproveitei uma compilação no trabalho para formular a
> pergunta, o código do site fica em casa e não aqui na empresa. (aliás, por
> curiosidade, uma compilação e linkedição completo do nosso produto leva 1,5
> horas numa máquina com 4 processadores dual core - veja que tive algum tempo
> extra para pesquisar novidades e problemas hihi).
>
> Depois eu posto o código aqui ok?
>
> Abraço e obrigado por enquanto.
> Benito
>
> 2008/2/13 Juan Basso <[EMAIL PROTECTED]>:
>
>
> > Olha, olhando rapidamente no Google, parece que o pessoal não tem
> > problemas com o GoogleMaps com Opera, ou seja, deve ser na parte que
> > você fez. :)
> >
> > Portanto, acho que sem ver o código fica meio difícil de ajudar.
> >
> >
> > Juan Basso
> >
> > On 13 fev, 14:06, "Josenivaldo Benito Junior" <[EMAIL PROTECTED]>
> > wrote:
> > > Olá turma,
> > >
> > > Alguém ai usa a API do Google para mapas?
> > >
> > > Estou usando e adorando. Uma das coisas que o sistema precisava era do
> > mapa.
> > > Eu já tinha feito, no braço, com design atoscalhado, no ano anterior.
> > Com
> > > cake ficou muito melhor.
> > >
> > > Agora estou com um pequeno problema de visualização e precisava ver se
> > > alguém já passou por isso. Tem funcionado 100% no firefox, também
> > funciona
> > > 99% no IE (5, 6 e 7 - todos tem pequenos problemas de loading das
> > imagens,
> > > mas isso é tolerável). Já o Opera, seja versão Windows, Linux ou Wii
> > > (Nintendo Wii) não abre os mapas, apenas os controles. Desconfio de
> > CSS,
> > > Javascript ou coisa do gênero mas não sei como debugar o problema. Eu
> > já
> > > mudei, tirei e recoloquei quase tudo de Javascript que eu pude e, no
> > máximo
> > > faço parar de funcionar no Firefox/IE mas nunca consigo fazer
> > funcionar no
> > > Opera.
> > >
> > > Usando o Opera e indo emhttp://maps.google.com(ou Opera do Wii)
> > funciona.
> > >
> > > Alguém tem alguma dica?
> > >
> > > --
> > > Josenivaldo Benito Junior. PU2LBD
> > > Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com
> > > PY2BRZ e  PY2HCD)http://www.gbvudx.qsl.br
> > > Assine a Lista de e-mails do GBVUDX:
> > http://www.gbvudx.qsl.br/refletor_gbvudx.asp
> > > >
> >
>
>
> --
> Josenivaldo Benito Junior. PU2LBD
> Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com
> PY2BRZ e  PY2HCD)
> http://www.gbvudx.qsl.br
> Assine a Lista de e-mails do GBVUDX:
> http://www.gbvudx.qsl.br/refletor_gbvudx.asp
>



-- 
Josenivaldo Benito Junior. PU2LBD
Organizador do Concurso Brasileiro de 144 MHZ - CB144 (em conj. com
PY2BRZ e PY2HCD)
http://www.gbvudx.qsl.br
Assine a Lista de e-mails do GBVUDX:
http://www.gbvudx.qsl.br/refletor_gbvudx.asp

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito no Grupo "Cake PHP Português" 
em Grupos do Google.
 Para postar neste grupo, envie um e-mail para [email protected]
 Para cancelar a sua inscrição neste grupo, envie um e-mail para [EMAIL 
PROTECTED]
 Para ver mais opções, visite este grupo em 
http://groups.google.com/group/cake-php-pt?hl=pt-BR
-~----------~----~----~----~------~----~------~--~---

Responder a