Alpha Video Training
Results 1 to 4 of 4

Thread: Get Current Position of Android Device

  1. #1
    Member
    Real Name
    Phil Samuels
    Join Date
    Jan 2011
    Posts
    192

    Default Get Current Position of Android Device

    I am working on a Tablet Application (uploaded with PhoneGap). On one Panel, I want to display the Longitude and Latitude of the tablet's current GPS Position (ultimately, I'll also put a Marker on a Map Control, but that'll be easy, once I get the longitude and latitude).

    I put the following code in a Button's "On-Click" control, as a first step (and a test):

    var lat = position.coords.latitude;
    var long = position.coords.longitude;
    alert('Found location: ' + lat + ', ' + long);
    {dialog.Object}.setValue('TEXTBOX1',lat);
    {dialog.Object}.setValue('TEXTBOX2',long);

    Unfortunately, when I clicked the button, I didn't get the "Alert" message and the 2 textbox controls did NOT get populated.

    I DID turn on Location Services on my Android Tablet. Also, I included the "Geolocation" plugin in my Phonegap upload. I'm thinking that I probably have to do something to retrieve the "position.coords" information, to make them available to Alpha.

    I hope I'm just missing something obvious and this is an easy fix. I'd appreciate any assistance you can offer.

  2. #2
    "Certified" Alphaholic
    Real Name
    David Kates
    Join Date
    Apr 2008
    Location
    Unionville, ON
    Posts
    7,645

    Default Re: Get Current Position of Android Device

    Have a look at Alpha's UX Template for geolocation... it reads as if it's for iOS only... but I don't think so... it should work on Android.

    Yes, client-side you do need to make a call to get geolocation. Also have a look at the plugin information... there you'll see this sample code...

    Code:
        var onSuccess = function(position) {
            alert('Latitude: '          + position.coords.latitude          + '\n' +
                  'Longitude: '         + position.coords.longitude         + '\n' +
                  'Altitude: '          + position.coords.altitude          + '\n' +
                  'Accuracy: '          + position.coords.accuracy          + '\n' +
                  'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '\n' +
                  'Heading: '           + position.coords.heading           + '\n' +
                  'Speed: '             + position.coords.speed             + '\n' +
                  'Timestamp: '         + position.timestamp                + '\n');
        };
     
        // onError Callback receives a PositionError object
        //
        function onError(error) {
            alert('code: '    + error.code    + '\n' +
                  'message: ' + error.message + '\n');
        }
     
        navigator.geolocation.getCurrentPosition(onSuccess, onError);

  3. #3
    Member
    Real Name
    Sean OKelly
    Join Date
    Sep 2015
    Location
    Charleston, WV
    Posts
    216

    Default Re: Get Current Position of Android Device

    There is action javascript available for geolocation (called Geolocation Functions) and it works well for us on windows/android/ios. The one catch we have seen is that you need to check "Get accurate position within a designated radius" so that it wil make multiple attempts to get location data. The first attemp comes back very poor usually. Now, our apps are in disconnected mode a lot so it relies mostly on GPS rather than GPS + WIFI and this is why we need it to make multiple attempts. If you are in an area with good cell coverage then maybe the first attempt is fine.

  4. #4
    Member
    Real Name
    Phil Samuels
    Join Date
    Jan 2011
    Posts
    192

    Default Re: Get Current Position of Android Device

    Hi David and Sean-

    THANK YOU so much for all your help. Yes, ultimately, I was missing the "navigator.geolocation.getCurrentPosition" function, which I've read more about, after getting your notes. What I was trying to do, works great.

    I kept the code very simple: I wanted the user to easily display the current location, on a map and I've expanded it to create a route from the Current Location to an address that they can enter. The code is placed in the onClick function of a Button.

    Here's the code, I used, in case it will help someone else accomplish this task easily:
    I created two TextBox fields, called TextBox1 (hidden) and TextBox2 (visible: to enter the destination address). And, of course, there's a button to activate the script, below:

    //This function runs if the Location Service is on and the GPS position can be determined
    var Success2 = function(setfields) {
    //Set the Longitude and Latitude field variables, based on the current location
    var lat = setfields.coords.latitude;
    var long = setfields.coords.longitude;
    //Then, I created a single field that holds both numbers, with a comma separator and put that into the hidden TextBox1.
    var myPosition = lat + ','+ long
    {dialog.Object}.setValue('TEXTBOX1',myPosition);
    }

    //In the event of an error getting the coordinates, this will tell me the error that occurred.
    function onError2(error) {
    alert('code: ' + error.code + '\n' +
    'message: ' + error.message + '\n');
    }
    //This pulls the Navigation coordinates from the device and runs the function(s)
    navigator.geolocation.getCurrentPosition(Success2, onError2);

    //Finally, the fun part: After the user enters an address into TextBox2 the system and clicks the Button, this runs:
    //Get the Values from both TextBoxes show the Route in a "text field' (that's designated as a DIV)
    var a1 = {dialog.Object}.getValue('textbox1');
    var a2 = {dialog.Object}.getValue('textbox2');

    var m1 = {dialog.object}.getControl('ROUTE1');
    m1.plotRoute(a1,a2);

    I'd still like to test it a little, but, so far, it has been perfect... and I couldn't have done it, without your help. I'm also going to try some of the options (accuracy, etc.) to see if it makes a difference.

    I hope that code is helpful for someone else who wants to do something similar.

    Thanks again for all your help. I really appreciate it.

Similar Threads

  1. Delay in panel scrolling on an Android Device
    By cingeme in forum Mobile & Browser Applications
    Replies: 3
    Last Post: 07-05-2018, 09:58 AM
  2. Time picker not working on android phone device
    By frankbicknell in forum Mobile & Browser Applications
    Replies: 1
    Last Post: 03-19-2014, 11:26 PM
  3. Mobile app for Multiple device - iOS and Android
    By monica.mandal in forum Mobile & Browser Applications
    Replies: 1
    Last Post: 11-13-2013, 03:47 PM
  4. Download and view PDF on Android device
    By drgarytraub in forum Application Server Version 10 - Web/Browser Applications
    Replies: 1
    Last Post: 09-16-2013, 08:02 AM
  5. Printing on Android Device
    By frankbicknell in forum Application Server Version 10 - Web/Browser Applications
    Replies: 3
    Last Post: 04-26-2011, 04:04 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •