Google地图不会在Phonegap iOS App中显示

use*_*557 9 html google-maps-api-3 ios cordova

我有一个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>
Run Code Online (Sandbox Code Playgroud)

Dev*_*eks 13

PhoneGap具有用于外部URL /主机的白名单系统.

来自维基:

此外,最新的代码具有新的白名单功能.如果要引用外部主机,则必须在"ExternalHosts"键下的PhoneGap.plist中添加主机.通配符都可以.因此,如果您要连接到"http://phonegap.com",则必须将"phonegap.com"添加到列表中(或使用与子域匹配的通配符"*.phonegap.com").

您上面的代码段中包含一些外部主机:

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

也许尝试向ExternalHosts添加"*"以确保不是问题,然后在其工作时添加更多特定主机.


Mar*_*ger 11

您必须添加Google地图要加载到外部主机列表的所有内容.我添加了以下内容,它对我来说很好:

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