2011-11-16 16 views
9

Ho un'app iOS di PhoneGap e ho questo codice HTML che non mostrerà la mappa nell'app. Vedo perfettamente la mappa in Safari o FF ma non nell'app. Come posso farlo funzionare?Google Map non verrà visualizzata nell'app per iOS PhonePap

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

risposta

13

PhoneGap ha un sistema di whitelist per URL/host esterni.

Dal wiki:

Inoltre, il codice più recente ha la nuova funzionalità di white-list. Se si fa riferimento a host esterni , sarà necessario aggiungere l'host in PhoneGap.plist sotto la chiave "ExternalHosts". I caratteri jolly sono ok. Quindi se ti stai connettendo a "http://phonegap.com", devi aggiungere "phonegap.com" all'elenco (o utilizzare il carattere jolly "* .phonegap.com" che corrisponderà anche ai sottodomini) .

tuo frammento di codice di cui sopra ha un paio di host esterni in esso:

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

Forse provare ad aggiungere "*" per ExternalHost da cui partire per assicurarsi che non sia questo il problema, quindi aggiungere host più specifici una volta che funziona.

11

Devi aggiungere tutto ciò che Google Maps desidera caricare nell'elenco degli host esterni. ho aggiunto quanto segue e funziona bene per me:

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

Ho avuto lo stesso problema con gli host, ma la tua soluzione "* .googleapis.com" ha funzionato. Ma la mappa non è ancora apparsa perché non avevo una chiave API e questo ha risolto il mio problema. Spero che ti aiuti perché nel tuo codice non hai una chiave API.

+2

Le API API non sono più necessarie nell'API JavaScript di Google Maps. –

Problemi correlati