• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

Android - StageWebView with Geolocation

New Here ,
Aug 02, 2012 Aug 02, 2012

Copy link to clipboard

Copied

I'm creating a cross-platform app using Flash CS6 targeted at AIR 3.3.0.3650. I setup a StageWebView and load a URL which uses geolocation via Google's JS API.

I've ported my code from a working IOS implementation into Android. The code worked 100% fine on IOS, however, I do not get any prompts for permission to use a current location on the Android platform, and thus the map does not load or show your geolocation.

I've kept the appplication and code to a complete minimum, but I'm still banging my head against the wall to get a prompt or get the geolocation working. If you were to visit the URL below via a desktop browser or the Android's default browser, the geolocation works. When you load it via StageWebView, the map portion remains blank.

I have also set all permissions to allow for location services, etc. to no avail. Here is the barebones code that I'm running with to troubleshoot. I've even went as far as to use someone else's website in the StageWebView instance to make sure it wasn't an error within the loaded page.

var webView:StageWebView;

webView = new StageWebView();

webView.stage = stage;

webView.viewPort = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);

webView.loadURL("http://merged.ca/iphone/html5-geolocation/");

TOPICS
Development

Views

3.8K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 06, 2012 Aug 06, 2012

Copy link to clipboard

Copied

I've gotten a bit closer to the answer, as it seems the native coding for Android has to use a work around to show the prompt as well:

http://stackoverflow.com/questions/5329662/android-webview-geolocation

Is there anyway to implement "setWebChromeClient" via AIR?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 14, 2012 Aug 14, 2012

Copy link to clipboard

Copied

This is how it would be done if i were coding directly for Android:

WebSettings webSettings = myWebView.getSettings();
webSettings
.setJavaScriptEnabled(true);

Does anyone know of a way to do the same using StageWebView with AIR for Android?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 24, 2013 Feb 24, 2013

Copy link to clipboard

Copied

I'm having this issue as well. Has anyone discovered a work-around yet?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 01, 2013 Mar 01, 2013

Copy link to clipboard

Copied

J, did YOU ever figure it out?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 04, 2013 Mar 04, 2013

Copy link to clipboard

Copied

From my findings, its not possible, since on Android the stagewebview blocks javascript prompts. At the time, there was no available function to import Chromewebview to allow the JS prompts.

I was initially using GPS location functionality through the actual webpage served via stagewebview, but since Android would not show the "allow location" prompt, I could never serve a location (or save it) through this method.

I had to rewrite my code to use geolocation and stored variables, then pass the information along through URL encode variables to accurately show the locations via stagewebview. I'm not sure my way is correct or not, but in a pinch it worked out pretty well. The only headache was reviewers, who had issue with the app when in a large group of people (overloaded cell towers and thus no data refresh.)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Aug 19, 2015 Aug 19, 2015

Copy link to clipboard

Copied

Although the original post is related to 3 years ago, there has never been a solution to this problem until now! I am very happy to announce the release of V3.0 of RichWebView which we included support for GPS so in your JS codes, you can grab user latitude, longitude as follow. Read this tutorial to know how to manage this in your Adobe Air mobile app.

var gpsOptions = {

  enableHighAccuracy: false,

  timeout: 5000,

  maximumAge: 0

};

function onGpsSuccess(pos) {

  var crd = pos.coords;

  alert('Your current position is:\nLatitude : ' +

  crd.latitude + '\nLongitude: ' +

  crd.longitude + '\naccuracy: ' +

  crd.accuracy + 'meters');

};

function onGpsError(err) {

  alert('ERROR(' + err.code + '): \n' + err.message);

};

function getUserLocation()

{

    navigator.geolocation.getCurrentPosition(onGpsSuccess, onGpsError, gpsOptions);

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jul 03, 2019 Jul 03, 2019

Copy link to clipboard

Copied

emstris​

emstris

I need to have a working google maps with gps in a webview.

cheers

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jul 04, 2019 Jul 04, 2019

Copy link to clipboard

Copied

LATEST

Not sure if it works, but worth a try.

You can handle the permission from as3 and use the geoloc in the webview. Not sure it's the same permission tho.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines