我有一个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>
答案 0 :(得分:13)
PhoneGap拥有外部网址/主机的白名单系统。
来自维基:
此外,最新代码具有新的白名单功能。如果你是 引用外部主机,您必须添加主机 PhoneGap.plist下的“ExternalHosts”键。通配符都可以。因此,如果 你要连接到“http://phonegap.com”,你必须添加 “phonegap.com”到列表中(或使用通配符“* .phonegap.com”) 也会匹配子域名。)
上面的代码段中有几个外部主机:
也许尝试向ExternalHosts添加“*”以确保不是问题,然后在其工作时添加更多特定主机。
答案 1 :(得分:11)
您必须将Google地图要加载的所有内容添加到外部主机列表中。 我添加了以下内容,它对我来说很好用:
答案 2 :(得分:0)
我遇到了与主机相同的问题,但您的“* .googleapis.com”解决方案有效。但是地图仍然没有出现,因为我没有API密钥,这解决了我的问题。希望它对您有所帮助,因为在您的代码中您没有API密钥。