Как можно отслеживать мою позицию, когда я закрываю свое приложение с помощью Phonegap и jquerymobile

Я использую phonegap, jquerymobile API googlemap, чтобы получить мою текущую позицию и посмотреть мою позицию.

Для этого, когда я обедаю на своей странице карты, моя позиция отображается маркером, и маркер перемещается при движении. Даже если это работает, исключая, когда я закрываю свое приложение (onPause).

Вот мой код (вы можете сказать мне, как я могу его усовершенствовать: о))

$('#home').live("pagebeforeshow", function() {

    if($('#googleAPI').length != 0){


        navigator.geolocation.getCurrentPosition(function(position){

            //showMap('mapHome',position.coords.latitude, position.coords.longitude);// Canvas, lat, long

            var latLng = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);

            // Google Map options
            var myOptions = {
                zoom: 17,
                //zoomControl   : 1,
                center: latLng,
                mapTypeId: google.maps.MapTypeId.ROADMAP////ROADMAP, SATELLITE, HYBRID and TERRAIN
            };      

            // Create the Google Map, set options
            Tracking.mapy = new google.maps.Map(document.getElementById('mapHome'), myOptions);

            //addMarker(position.coords.latitude,position.coords.longitude);

        }, 
        showError, 
        {

                enableHighAccuracy  : true,
                maximumAge          : 2000
                //maximumAge:Infinity
        });

    }
})  

    $('#home').live("pageshow", function() {

        // Place and move the marker regarding to my position and deplacement
    if($('#googleAPI').length != 0){

        //var track_id = "me";
        Tracking.watch_id = navigator.geolocation.watchPosition(
        // Success
        function(position){

            var lat = position.coords.latitude;
            var long = position.coords.longitude;

            var latLng = new Array();
            latLng[0] = lat;
            latLng[1] = long;

            //Tracking.myCoordinates.push(lat,long);
            Tracking.myCoordinates.push(latLng);

            addMarker(lat, long);

        },
        // Error
        showError,
        { 
            frequency: 1000

        });

        console.log('HW : WatchPosition called. Id:' + Tracking.watch_id);


    }else{
        Alert.show('The map API has not been loaded. Check for connection and try again. (pagebeforeshow)');
    }


})

$('#home').live("pagebeforehide", function() {

    if($('#googleAPI').length != 0){

        //track_id = "me";

        // Stop tracking the user

        if (Tracking.watch_id != null) {
            navigator.geolocation.clearWatch(Tracking.watch_id);
        console.log('HW : WatchPosition cancelled Id:' + Tracking.watch_id);
            Tracking.watch_id = null;
        }


        //navigator.geolocation.clearWatch(Tracking.watch_id);



        //Tracking.watch_id = null;
        Tracking.myCoordinates = new Array();

    }else{
        Alert.show('The map API has not been loaded. Check for connection and try again. (pagebeforeshide)');
    }

});

Проблема в том, когда я закрываю свое приложение, потому что мне все еще нужно быть внимательным, когда я выхожу за пределы своей геозоны. Затем, несмотря на то, что я не перестаю наблюдать за своей позицией, мне нужно, чтобы она наблюдала, даже если я закрываю свою позицию или если я завтракаю в другом приложении.

Тогда я не знаю, как это сделать, когда я даже позвонил в этот PhoneGap:

document.addEventListener('pause', onPause, false);
function onPause(){}

Должен ли я просто перезапустить мой код часов с другим watch_id?

Любое предложение?

Большое спасибо и счастливого нового года

1 ответ

Я думаю, что вы пытаетесь получить фоновый процесс с помощью телефонной щели. Обсуждение в этой ссылке, кажется, говорит, что это возможно, только если вы напишите плагин для выполнения этой функции. PhoneGap не имеет API, чтобы сделать это из коробки.

Выполнение javascript в фоновом режиме с использованием телефонной щели

Другие вопросы по тегам