Uso de Cordova 5.0.0 Google Maps con Política de seguridad de contenido
Estoy construyendo Cordova Aplicación para Android usando Cordova 5.0.0. Y estoy utilizando Google Maps sin plugin y debe ser sin complemento. Incluyo esta secuencia de comandos y la metaetiqueta .also Cordova usando plugin de lista blanca.
<!-- Meta tag --> <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"> <!-- Google Maps--> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=true"></script>
Me da este error:
Refused to load the script 'https://maps.googleapis.com/maps/api/js?sensor=true' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-inline' 'unsafe-eval'".
- No haga clic en el marcador después de hacer clic en android map v2
- ArrayIndexOutOfBounds en el dibujo de la polilínea de Android
- Uso de una imagen como GoogleMap
- Google Maps Android: el mapa ya no se muestra después del cambio del almacén de claves
- Android: Establecer el nivel de zoom en Google Maps para incluir todos los puntos marcadores
- GoogleMaps GroundOverlay parpadea mis imágenes
- Mostrar ventana de información en cada marcador a la vez
- Android mapa v2 zoom para mostrar todos los marcadores
Intenta este bloque para eliminar ese error
<meta http-equiv="Content-Security-Policy" content=" default-src 'self' data: gap: *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src 'self' 'unsafe-inline' 'unsafe-eval' *; media-src 'self' 'unsafe-inline' 'unsafe-eval' *; img-src 'self' 'unsafe-inline' 'unsafe-eval' *; connect-srv 'self' 'unsafe-inline' 'unsafe-eval' * ">
Pruebe el uso de la siguiente política de seguridad de contenido:
<meta http-equiv="Content-Security-Policy" content=" default-src 'self' data: gap: https://ssl.gstatic.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://*.gstatic.com https://*.googleapis.com; style-src 'self' 'unsafe-inline'; media-src *">
Google maps necesita las reglas definidas para script-src como arriba con 'unsafe-inline' 'unsafe-eval'. ; )
Post más antiguo, pero después de unos pocos teaks encontró el que trabajó para mí.
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data gap https://*.google.com https://*.googleapis.com https://*.gstatic.com https://*.googleusercontent.com 'unsafe-inline' 'unsafe-eval'; media-src *">
Debe agregar las etiquetas <allow-navigation>
a su archivo config.xml
si desea permitir la navegación para otras URL. Lo siguiente debería funcionar:
<access origin="*" /> <allow-navigation href="*" /> <allow-intent href="*" />
Como advertencia, la línea <allow-intent>
lista en blanco toda la red a través de HTTP y HTTPS, lo cual puede no ser algo que se quiera en un entorno de producción. Puede consultar la documentación para obtener más información. De lo contrario, si dispone de otras librerías de seguridad, es posible que tenga que eliminarlas, ya que podrían bloquear Google Maps.