[Vuejs]-Nativescript Vue.js location GPS

0๐Ÿ‘

As it is an android app, you can use LocationManager and set the appropriate provider, GPS or NETWORK.
I am not an expert in vue, so can not give you code but as you have access to all native APIs in nativescript, you can convert that.
Sample

LocationManager locationManager = (LocationManager) getApplicationContext().getSystemService(LOCATION_SERVICE);
Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

I have used it before in nativescript angular app.

For location strategies, you can refer here.

0๐Ÿ‘

Try this,

import * as application from "application";

const PLAY_SERVICES_RESOLUTION_REQUEST = 9999;

...
isGooglePlayServicesAvailable() {
        const googleApiAvailability = com.google.android.gms.common.GoogleApiAvailability.getInstance();
        const resultCode = googleApiAvailability.isGooglePlayServicesAvailable(application.android.context);
        if (resultCode != com.google.android.gms.common.ConnectionResult.SUCCESS) {
            if (googleApiAvailability.isUserResolvableError(resultCode)) {
                apiAvailability.getErrorDialog(application.android.context, resultCode, PLAY_SERVICES_RESOLUTION_REQUEST)
                        .show();
            }
            return false;
        }
        return true;
    }
 ...

It would notify and install play services if not available.

0๐Ÿ‘

I met the same problem, and finally I fixed it, the problem is, nativescript-geolocation v3.0.1 do not deponds on google play service, but it is outdated and not work with tns v6. this is my solution:

you can get the code of nativescript-geolocation v3.0.1, modify a little, and then, depend the source code on your tns v6 project, it works. following is the details.

git@github.com:NativeScript/nativescript-geolocation.git
cd nativescript-geolocation
git checkout -b your-branch v3.0.1

next, modify the code of src/geolocation.android.ts file, just one line

-    let currentContext = <android.app.Activity>androidAppInstance.currentContext;
+    let currentContext = <android.app.Activity>androidAppInstance.context;

next, use the source code dependency in your project,

tns plugin add /path/to/nativescript-geolocation/src

you can see demo/app/main-page.ts file in the git repo for how to use this plugin of this version.

Leave a comment