2008-08-06 19 views
16

Recientemente descubrimos que la API de Google Maps no funciona muy bien con SSL. Muy bien, pero ¿cuáles son algunas opciones para superar esto que otros han utilizado con eficacia?Opciones para Google Maps sobre SSL

Will the Maps API work over SSL (HTTPS)?

En este momento, la API de Maps no es disponible a través de una conexión segura (SSL) conexión. Si ejecuta la API de Maps en un sitio seguro, el navegador puede advertir al usuario sobre objetos no seguros en la pantalla.

se han considerado las siguientes opciones

  1. La división de la página para que la colección de tarjetas de crédito (el requisito de SSL) no está en la misma página que el mapa de Google.
  2. Cambiar a otro proveedor de mapas, como Virtual Earth. Se rumorea que admiten SSL.
  3. Jugando trucos con IFRAME. Suena kludgy.
  4. Transmitir las llamadas a Google. Suena como un montón de sobrecarga.

¿Hay otras opciones o alguien tiene alguna idea de las opciones que hemos considerado?

+2

Hola Brad. ¿Es hora de aceptar http://stackoverflow.com/questions/3437/options-for-google-maps-over-ssl/5337403#5337403? Google Maps ahora funciona con SSL de forma gratuita. –

+0

Google lanzó recientemente Maps API para sitios web seguros: [API de Maps sobre SSL ahora disponible para todos] (http://googlegeodevelopers.blogspot.com.br/2011/03/maps-apis-over-ssl-now-available-to -all.html) – mah2602

Respuesta

14

Estoy de acuerdo con las dos respuestas anteriores que en este caso puede ser mejor desde una perspectiva de usabilidad dividir las dos funciones en pantallas separadas. Realmente desea que sus usuarios se concentren en ingresar información de tarjeta de crédito completa y precisa, y tener un mapa en la misma pantalla puede distraer.

Para el registro, sin embargo, Virtual Earth sin duda es totalmente compatible con SSL. Para habilitarlo, simplemente necesita cambiar la referencia del script de http: // a https: // y anexar & s = 1 a la URL, p.

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

convierte

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

Su SSL no es válido, sin embargo, también usan contenido mixto. –

+0

Gracias! Aquí hay un ejemplo de trabajo: http://bl.ocks.org/885346 – mager

3

Me gustaría ir con su primera solución. Esto le permite al usuario enfocarse en ingresar los detalles de su tarjeta de crédito.

A continuación, puede transferirlos a otra página web que les solicite o les brinde más información relacionada con Google Map.

5

Parece una cuestión de requisitos de uso/usabilidad. ¿Tiene una buena razón para colocar el mapa en la página de la tarjeta de crédito? Si es así, quizás valga la pena trabajar a través de algunos problemas técnicos.

Puede intentar usar Mapstraction, por lo que puede cambiar a un proveedor que admita SSL y volver a Google si lo admite en el futuro.

3

Si usted es un cliente Google Maps API Premier, a continuación, se admite SSL. Usamos esto y funciona bien.

Antes de que Google pusiera a disposición de SSL, procesamos todo el tráfico y esto funcionó de manera aceptable. Usted pierde la ventaja de la CDN de Google cuando utiliza este enfoque y es posible que su IP sea prohibida ya que parecerá que está generando mucho tráfico.

+0

Google Maps Premier es genial, si trabajas para una compañía más grande con 10k simplemente sentado. Si eres como yo, parece que no tienes suerte. – baudtack

6

Google Maps API Premier le cuesta 10K por año.

¡Comenta el problema! Juntos podríamos ser capaces de convencer a Google:

http://code.google.com/p/gmaps-api-issues/issues/detail?id=591

+0

Maps API v3, Static Maps API y Maps API Web Services ahora están disponibles para todos los desarrolladores a través de https: http://googlegeodevelopers.blogspot.com/2011/03/maps-apis-over-ssl-now- disponible para todos.html – fabian

1

Si está recibiendo alerta de seguridad en IE 9 al tiempo que muestra los mapas de Google, utilice

<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> 

en lugar de

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

Los enlaces que promocionan su blog personal están mal vistos aquí. En cambio, tomé el contenido de tu publicación de blog y lo incluí en tu respuesta. Por favor haz esto en el futuro para tus respuestas. –

0

he acaba de quitar el protocolo http y funcionó!

De esta:

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

A esto:

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