Отображение карты Google на симуляторе iPhone - Phonegap - PullRequest
3 голосов
/ 28 сентября 2011

Я использую Mac OSX Lion и Xcode 4.1.1. Я создал новый проект Phonegap и в index.html добавил следующий код.

<!DOCTYPE html>
<html>
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

    <script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js">
    </script>

    <!-- Tried setting sensor=true, didn't work too -->
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">
    </script>

    <script type="text/javascript" charset="utf-8" >

    function display(position){
        var initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
        var myOptions = {
                zoom: 12,
                center: initialLocation,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        }

        function error()
        {
            alert('Not working');
        }

        function init()
        {
            navigator.geolocation.getCurrentPosition(display,error);
        }
        </script>
    </head>
    <body onload="init()">
        <div id="map_canvas"></div>
    </body>
</html>

Код, однако, отказывается работать. Я даже включил ключ «EnableLocation» в моем Phonegap.plist. Я не получаю никаких предупреждений о том, что «Testapp хотел бы знать ваше местоположение, разрешить?». Все, что я получаю, это ошибка на консоли

navigator.geolocation.setError({ 'code': 1, 'message': 'Location Services Not Enabled' });

Может кто-нибудь помочь мне?

1 Ответ

6 голосов
/ 28 сентября 2011

Хотелось бы знать, что вам сказать, но надеюсь, это поможет. Я думаю, что ваш код в порядке. Я просто запустил его на симуляторе iOS 4.3 от Dreamweaver на Snow Leopard, и он работал нормально. Однако мне пришлось внести некоторые коррективы, потому что DIV был полностью разрушен. Карта была там, но она не показывалась.

Просто чтобы доказать это себе, попробуйте добавить это в свой map_canvas div

style="height: 400px"

Когда я это сделал, я прекрасно видел карту.

Я не эксперт CSS, поэтому я не знаю, как заставить глупый div расширяться до размера карты. Может быть, вам придется сделать это с помощью CSS. Высота 100% не работает. Иногда CSS действительно дует.

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