2017-08-25 4 views

Répondre

1

Tout d'abord, vous devez vérifier Location Autorisations pour l'application dans Android & puis vous devez vérifier si le service de localisation est activé dans le périphérique ou non.

Les deux sont des déclarations différentes.

Le premier vérifie l'autorisation d'accès à l'emplacement & La deuxième concerne la vérification de l'activation ou de la désactivation du service de localisation.

Sans vérification emplacement Permission d'abord sur Android, vous ne pouvez pas vérifier l'emplacement état marche/arrêt, sinon il sera toujours conduire à faux statut.

tout d'abord ajouter ceci tiapp.xml dans ios -> plist -> dict

<key>NSLocationAlwaysUsageDescription</key> 
<string>Determine Current Location</string> 

Maintenant, voici le code cross-compatible pour Android/iOS.

function checkLocationEnabledOrNot(_callback, _args) { 
    if (Titanium.Geolocation.locationServicesEnabled) { 
     _callback(_args); 

    } else { 
     alert("Turn on location on your device."); 
    } 
} 


// pass _callback method you want to call after successful access to location 
// you can also pass arguments as 2nd parameter to the function you want to call 

function startLocationProcess(_callback, _args) { 
    Ti.Geolocation.accuracy = Ti.Geolocation.ACCURACY_HIGH; 

    if (OS_IOS) { 
     checkLocationEnabledOrNot(_callback, _args); 

    } else if (OS_ANDROID) { 
     if (Ti.Geolocation.hasLocationPermissions()) { 
      checkLocationEnabledOrNot(_callback, _args); 

     } else { 
      Ti.Geolocation.requestLocationPermissions(Ti.Geolocation.AUTHORIZATION_ALWAYS, function (locationEvent) { 
       if (locationEvent.success) { 
        checkLocationEnabledOrNot(_callback, _args); 

       } else { 
        alert("Location permissions are required to access locations."); 
       } 
      }); 
     } 
    } 
} 

Maintenant, sur un bouton clic tout ce que vous voulez faire après vérification emplacement, vous pouvez simplement le faire comme ceci:

function anotherFunction(name) { 
    alert(name); 
} 


$.someButton.addEventListener('click', function (e) { 
    startLocationProcess(anotherFunction, "Hello D.Ish"); 
});