Карта Google не будет отображаться в приложении Phonegap для iOS - PullRequest
9 голосов
/ 16 ноября 2011

У меня есть приложение 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>

Ответы [ 3 ]

13 голосов
/ 16 ноября 2011

PhoneGap имеет систему белых списков для внешних URL / хостов.

Из вики:

Кроме того, последний код имеет новую функцию белого списка. Если ты ссылаясь на внешние хосты, вы должны будете добавить хост в PhoneGap.plist в разделе «Внешние хосты». Подстановочные знаки в порядке. Так что если вы подключаетесь к "http://phonegap.com", вы должны добавить "phonegap.com" в список (или используйте подстановочный знак "* .phonegap.com", который будет также соответствовать поддоменам).

В приведенном выше фрагменте кода есть несколько внешних хостов:

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

Возможно, попробуйте добавить «*» к ExternalHosts, чтобы убедиться, что это не проблема, а затем добавьте более конкретные хосты, как только он заработает.

11 голосов
/ 12 января 2012

Вы должны добавить все, что Google Maps хочет загрузить в список внешних хостов. Я добавил следующее, и оно прекрасно работает для меня:

  • *. Google.com
  • *. Googleapis.com
  • *. Gstatic.com
0 голосов
/ 26 апреля 2012

У меня была такая же проблема с хостами, но ваше решение "* .googleapis.com" сработало. Но карта так и не появилась, потому что у меня не было API-ключа, и это решило мою проблему. Надеюсь, это поможет вам, потому что в вашем коде у вас нет ключа API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...