2011-11-16 14 views
9

Tengo una aplicación para iOS PhoneGap y tengo este código HTML que no muestra el mapa en la aplicación. Veo el mapa perfectamente en Safari o FF pero no en la aplicación. ¿Cómo puedo hacer que esto funcione?Google Map no se mostrará en la aplicación para iPhone de Phonegap

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

    <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script> 
    <script type="text/javascript"> 

     $(document).ready(function(){ 
        var initialLocation = new google.maps.LatLng(37.654,-77.980); 
         var myOptions = { 
             zoom: 12, 
             center: initialLocation, 
             mapTypeId: google.maps.MapTypeId.ROADMAP 
         }; 
         var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
      }); 
</script> 
</head> 
<body> 
<div data-role="content"> 
    <!--images go here --> 
    <div class="img_shadow" style="padding:4px;"> 
        <div id="map_canvas" style="height:130px;"></div> 
    </div> 
</div>  
</div><!-- /page --> 

</body> 

Respuesta

13

PhoneGap tiene un sistema de lista blanca para las URL/Hosts externos.

Desde el wiki:

Además, el último código tiene la nueva característica lista blanca. Si es haciendo referencia a hosts externos, tendrá que agregar el host en PhoneGap.plist en la tecla "ExternalHosts". Los comodines están bien. Entonces, si se está conectando a "http://phonegap.com", debe agregar "phonegap.com" a la lista (o use el comodín "* .phonegap.com" que también coincidirá con los dominios ) .

el fragmento de código anterior tiene un par de máquinas externas en ella:

  • maps.google.com
  • code.jquery.com

Tal vez trate de añadir "*" para ExternalHosts para empezar, para asegurarse de que ese no sea el problema, luego agregue hosts más específicos una vez que esté funcionando.

11

Tienes que agregar todo lo que Google Maps desea cargar en la lista de hosts externos. que añade la siguiente y funciona bien para mí:

  • * .google.com
  • * .googleapis.com
  • * .gstatic.com
0

que tenían el mismo problema con los hosts, pero su solución "* .googleapis.com" funcionó. Pero el mapa aún no apareció porque no tenía una clave API y esto resolvió mi problema. Espero que te ayude porque en tu código no tienes una clave API.

+2

Las claves de API ya no son necesarias en la API Javascript de Google Maps. –

Cuestiones relacionadas