robert_b_clarke
robert_b_clarke

Reputation: 1513

Guessing when HTML5 geolocation will work well

I'm developing a map based web application and I would like to offer users the ability to "Use current location"

I can easily check for the availability of the geolocation api as follows:

if (navigator && navigator.geolocation) {}

And once I've actually called navigator.geoLocation.getCurrentPosition I can easily check the accuracy of the result, or if the result is available at all.

However, I would like to only display the "Use current location" button when there is a good chance that it might work well, i.e. produce a result accurate to within a couple of hundred meters. I'd like to make this decision without asking the user to share their location.

My best guess so far is to basically attempt to always hide this button on a desktop or laptop PC, probably by using Modernizr touchscreen detection. This clearly won't be 100% effective due to touchscreen laptops, but maybe it's better than nothing.

I'd also like to avoid doing anything too elaborate on the server side. This is the only functionality in my app so far that requires device detection of any sort, so WURFL or similar user agent look ups are out of the question. I'd like to do it all client side without too much bloat

Thanks for any help

Upvotes: 1

Views: 112

Answers (1)

Graham Robertson
Graham Robertson

Reputation: 818

Unfortunately, no. Getting the geolocation accuracy of a user is private information so you need to make the request to the end-user first (as in navigator.geolocation.getCurrentPosition). The accuracy of the gps is device specific information, so the ONLY way you could get it would be on the client and not on your server.

Sorry there isn't a better solution for you. If you're making a mobile app, you could always use phonegap/cordova and use or create a plugin that could get you this information.

Upvotes: 1

Related Questions