2011-11-16 42 views
9

Tôi có ứng dụng PhoneGap iOS và có HTML này sẽ không hiển thị bản đồ trong ứng dụng. Tôi thấy bản đồ hoàn hảo trong Safari hoặc FF nhưng không có trong ứng dụng. Làm cách nào tôi có thể làm việc này?Google Map sẽ không hiển thị trong Phonegap iOS App

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

Trả lời

13

PhoneGap có hệ thống danh sách trắng cho URL/máy chủ bên ngoài.

Từ wiki:

Ngoài ra, các mã mới nhất có tính năng danh sách trắng mới. Nếu bạn đang tham chiếu đến máy chủ bên ngoài, bạn sẽ phải thêm máy chủ trong PhoneGap.plist dưới khóa "ExternalHosts". Ký tự đại diện là ok. Vì vậy, nếu bạn đang kết nối với "http://phonegap.com", bạn phải thêm "phonegap.com" vào danh sách (hoặc sử dụng ký tự đại diện "* .phonegap.com" trong đó cũng sẽ khớp với tên miền phụ) .

đoạn mã của bạn ở trên có một vài máy chủ bên ngoài trong đó:

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

Có lẽ thử thêm "*" để ExternalHosts để bắt đầu với để đảm bảo rằng đó không phải là vấn đề, sau đó thêm các máy chủ cụ thể hơn khi nó hoạt động.

11

Bạn phải Thêm mọi thứ mà Google Maps muốn tải vào danh sách máy chủ bên ngoài. Tôi được thêm vào sau đây và nó hoạt động tốt đối với tôi:

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

tôi đã cùng một vấn đề với máy chủ, nhưng giải pháp "* .googleapis.com" của bạn đã hoạt động. Nhưng bản đồ vẫn không xuất hiện vì tôi không có khóa API và điều này giải quyết được vấn đề của tôi. Hy vọng nó sẽ giúp bạn bởi vì trong mã của bạn, bạn không có một khóa API.

+2

Khoá API không còn cần thiết trong Javascript-API của Google Maps nữa. –

Các vấn đề liên quan