2011-11-16 12 views
9

Mam aplikację PhoneGap na iOS i mam ten kod HTML, który nie będzie wyświetlał mapy w aplikacji. Doskonale widzę mapę w Safari lub FF, ale nie w aplikacji. Jak mogę to uruchomić?Google Map nie wyświetla się w aplikacji Phonegap na iOS

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

Odpowiedz

13

PhoneGap ma białej listy system zewnętrznych adresów URL/hosts.

Z wiki:

Również najnowszy kod ma nową funkcję białej listy. Jeśli jesteś odwołując się do zewnętrznych hostów, będziesz musiał dodać hosta w PhoneGap.plist pod przyciskiem "ExternalHosts". Symbole wieloznaczne są w porządku. Więc jeśli łączysz się z "http://phonegap.com", musisz dodać "phonegap.com" do listy (lub użyć symbolu wieloznacznego "* .phonegap.com", który również dopasuje poddomeny) .

fragmencie kodu powyżej ma kilka hostów zewnętrznych w nim:

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

Może spróbuj dodać "*" do ExternalHosts na początek, aby upewnić się, że to nie problem, a następnie dodaj więcej konkretnych hostów, gdy działa.

11

Musisz dodać wszystko, co Google Maps chce załadować na zewnętrzną listę hostów. dodałem następujące i działa dobrze dla mnie:

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

miałem ten sam problem z hostami, ale Twoje rozwiązanie "* .googleapis.com" zadziałało. Ale mapa nadal się nie pojawiła, ponieważ nie miałem klucza API i to rozwiązało mój problem. Mam nadzieję, że ci to pomoże, ponieważ w twoim kodzie nie masz klucza API.

+2

Klucze API nie są już wymagane w Google Maps API JavaScript. –

Powiązane problemy