Pergunta

Descobrimos recentemente que a API do Google Maps não funciona bem com SSL.É justo, mas quais são algumas das opções para superar isso que outros usaram de forma eficaz?

A API do Maps funcionará em SSL (HTTPS)?

No momento, a API do MAPS não está disponível em uma conexão segura (SSL).Se você estiver executando a API do MAPS em um site seguro, o navegador poderá alertar o usuário sobre objetos que não são seguros na tela.

Consideramos as seguintes opções

  1. Dividir a página para que a cobrança do cartão de crédito (requisito para SSL) não fique na mesma página do Google Map.
  2. Mudar para outro provedor de mapas, como o Virtual Earth.Há rumores de que eles suportam SSL.
  3. Pregando peças com IFRAMEs.Parece desajeitado.
  4. Proxy das chamadas para o Google.Parece muita sobrecarga.

Existem outras opções ou alguém tem informações sobre as opções que consideramos?

Foi útil?

Solução

Concordo com as duas respostas anteriores que, neste caso, pode ser melhor, do ponto de vista da usabilidade, dividir as duas funções em telas separadas.Você realmente deseja que seus usuários se concentrem em inserir informações completas e precisas do cartão de crédito, e ter um mapa na mesma tela pode ser uma distração.

Porém, para que conste, o Virtual Earth certamente oferece suporte total a SSL.Para habilitá-lo, basta alterar a referência do script de http:// para https:// e anexar &s=1 ao URL, por exemplo.

<script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1" type="text/javascript"></script>

torna-se

<script src="https://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1&s=1" type="text/javascript"></script>

Outras dicas

Só para adicionar a isso

http://googlegeodevelopers.blogspot.com/2011/03/maps-apis-over-ssl-now-available-to-all.html

Ainda não tentei migrar meus mapas SSL (acabei usando a API de mapas do Bing) de volta para o Google, mas pode muito bem estar nos planos.

Isso parece ser um problema de requisitos de negócios/usabilidade - você tem um bom motivo para colocar o mapa na página do cartão de crédito?Nesse caso, talvez valha a pena resolver alguns problemas técnicos.

Você pode tentar usar Mapa de tração, para que você possa mudar para um provedor que ofereça suporte a SSL e voltar para o Google se ele oferecer suporte no futuro.

Eu iria com sua primeira solução.Isso permite que o usuário se concentre em inserir os dados do cartão de crédito.

Você pode então transferi-los para outra página da web que solicita ou fornece mais informações relacionadas ao Google Map.

Se você é um API Premier do Google Maps cliente, então SSL é suportado.Nós usamos isso e funciona bem.

Antes de o Google disponibilizar o SSL, fizemos proxy de todo o tráfego e isso funcionou de forma aceitável.Você perde a vantagem do CDN do Google ao usar essa abordagem e pode ter seu IP banido, pois parecerá que você está gerando muito tráfego.

Se você estiver recebendo ALERTA DE SEGURANÇA no IE 9 enquanto exibe mapas do Google, use

<script src="https://maps.google.com/maps?file=api&v=2&hl=en&tab=wl&z=6&sensor=true&key=<?php echo $key;?>
" type="text/javascript"></script>

em vez de

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE"
  type="text/javascript"></script>

Acabei de remover o protocolo http e funcionou!

A partir disso:

<script src="http://maps.google.com/maps/api/js?sensor=true" type="text/javascript"></script>

Para isso:

<script src="//maps.google.com/maps/api/js?sensor=true" type="text/javascript"></script>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top