谷歌地图不会显示在Phonegap的iOS应用程序

我有一个PhoneGap iOS应用程序,并有这个HTML,不会显示在应用程序中的地图。 我在Safari或FF中完美地看到地图,但在应用程序中却看不到。 我怎样才能使这个工作?

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

PhoneGap有一个用于外部URL /主机的白名单系统。

来自wiki:

此外,最新的代码有新的白名单function。 如果您正在引用外部主机,则必须在“ExternalHosts”键下的PhoneGap.plist中添加主机。 通配符是好的。 因此,如果您连接到“http://phonegap.com”,则必须将“phonegap.com”添加到列表中(或者使用通配符“*。phonegap.com”,它将与子域名匹配)&#x3002;

上面的代码片段中有几个外部主机:

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

也许可以尝试向ExternalHosts添加“*”,以确保这不是问题,然后添加更多特定的主机。

您必须将Google地图想要加载的所有内容添加到外部主机列表。 我添加了以下内容,对我来说工作正常:

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

我与主机有同样的问题,但您的“* .googleapis.com”解决scheme工作。 但地图仍然没有出现,因为我没有一个API密钥,这解决了我的问题。 希望它可以帮助你,因为在你的代码中你没有一个API密钥。