I am trying to get a user’s location via GeoLocation.getLocation(timeout_ms)
on a Samsung S5. Everything is cool on my iPhone, that works smoothly.
When I preview the app on my Android device, geolocation times out with this error:
Location request timed out
I have my google maps API key set in my .unoproj file, and Android Studio installed - I made sure to also grab the Google Play Services SDK Tools (wasn’t sure if this was a prerequisite or not).
Not sure if this also helps or whether it’s in any way related, but my other AJAX call to return blog posts and populate a ScrollView (does not require geolocation), returns no results.
For the record, here’s my Packages section of my unoproj file:
"Packages": [
"Fuse",
"FuseJS",
"Fuse.Maps",
"Fuse.Launcher",
"Fuse.GeoLocation",
"Fuse.Android",
],
And the Android SDK tools I currently have installed:
Tested with multiple Android devices, same issue. Both times I explicitly allowed the app to query the user’s location. And the console confirms it: Permissions: Permissions granted
Looks like Geolocation itself was never an issue. The main problem was a missing “intermediate/chain certificate” that needed to be linked to a trusted root certificate. Once I changed my API urls to redirect to plain old http, all fetch()
requests started working.