Domanda

Recentemente abbiamo scoperto che l'API di Google Maps non funziona bene con SSL.Abbastanza giusto, ma quali sono alcune opzioni per superare questo problema che altri hanno utilizzato in modo efficace?

L'API di Maps funzionerà su SSL (HTTPS)?

Al momento, l'API Maps non è disponibile su una connessione sicura (SSL).Se si esegue l'API Maps su un sito sicuro, il browser può avvertire l'utente sugli oggetti non sicuri sullo schermo.

Abbiamo considerato le seguenti opzioni

  1. Dividere la pagina in modo che la raccolta tramite carta di credito (requisito per SSL) non sia sulla stessa pagina di Google Map.
  2. Passaggio a un altro fornitore di mappe, come Virtual Earth.Si dice che supportino SSL.
  3. Giocare brutti scherzi con gli IFRAME.Sembra complicato.
  4. Proxy delle chiamate a Google.Sembra un sacco di spese generali.

Ci sono altre opzioni o qualcuno ha informazioni sulle opzioni che abbiamo considerato?

È stato utile?

Soluzione

Sono d'accordo con le due risposte precedenti sul fatto che in questo caso potrebbe essere meglio dal punto di vista dell'usabilità dividere le due funzioni in schermate separate.Vuoi davvero che i tuoi utenti si concentrino sull'inserimento di informazioni complete e accurate sulla carta di credito e avere una mappa sullo stesso schermo potrebbe essere fonte di distrazione.

Per la cronaca, però, Virtual Earth supporta sicuramente completamente SSL.Per abilitarlo è sufficiente modificare il riferimento allo script da http:// a https:// e aggiungere &s=1 all'URL, ad es.

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

diventa

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

Altri suggerimenti

Solo per aggiungere a questo

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

Non ho ancora provato a migrare le mie mappe SSL (alla fine ho utilizzato l'API delle mappe di Bing) su Google, ma potrebbe essere una cosa prevista.

Sembra un problema di requisiti aziendali/usabilità: hai una buona ragione per inserire la mappa nella pagina della carta di credito?Se è così, forse vale la pena risolvere alcuni problemi tecnici.

Potresti provare a usare Mappaestrazione, quindi puoi passare a un provider che supporta SSL e tornare a Google se lo supporta in futuro.

Io opterei per la tua prima soluzione.Ciò consente all'utente di concentrarsi sull'inserimento dei dettagli della propria carta di credito.

Potrai poi trasferirli ad un'altra pagina web che chiederà o fornirà loro ulteriori informazioni relative alla Mappa di Google.

Se sei un API di Google Maps Premier cliente, allora SSL è supportato.Usiamo questo e funziona bene.

Prima che Google rendesse disponibile SSL, trasmettevamo tutto il traffico tramite proxy e questo funzionava in modo accettabile.Quando utilizzi questo approccio perdi il vantaggio del CDN di Google e potresti vedere bannato il tuo IP poiché sembrerà che stai generando molto traffico.

Se ricevi AVVISO DI SICUREZZA su IE 9 durante la visualizzazione delle mappe di Google, utilizza

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

invece di

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

Ho appena rimosso il protocollo http e ha funzionato!

Da questa:

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

A questa:

<script src="//maps.google.com/maps/api/js?sensor=true" type="text/javascript"></script>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top