Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which Devices Support Javascript Geolocation via navigator.geolocation?

The iPhone supports geolocation in mobile Safari via the following call:

navigator.geolocation.getCurrentPosition(
  function(pos){
    var lat = pos.coords.latitude;
    var long = pos.coords.longitude;
  },
  function(){
    /* Handler if location could not be found */
  }
);

I'd like to build a good list of devices that have one of the following:

  1. support this feature out of the box, or
  2. support this feature with an upgrade, or
  3. support geolocation with equivalent fidelity of data with some other snippet of Javascript.

I'm only familiar with my own device, so this is my list so far:

Out of the box:

  1. iPhone 3GS

Supported, but only with an update

  1. iPhone 3G
  2. iPhone 2G (?)
  3. PC or Mac computer with Firefox 3.5

Supported with some other snippet

?

What is the level of support in Blackberry, Android phones, etc?

like image 374
Maciek Avatar asked Aug 28 '09 20:08

Maciek


People also ask

What is navigator geolocation in JavaScript?

The Navigator. geolocation read-only property returns a Geolocation object that gives Web content access to the location of the device. This allows a Web site or app to offer customized results based on the user's location.

Do all browsers support geolocation?

Most modern web browsers support browser geolocation, but only in a secure context (HTTPS). Some older browsers may not support browser geolocation. It is advised to always check in your code whether browser geolocation is supported before attempting to use the functionality, as shown in this javascript example.

How does JavaScript geolocation work?

The Geolocation API is accessed via a call to navigator. geolocation ; this will cause the user's browser to ask them for permission to access their location data. If they accept, then the browser will use the best available functionality on the device to access this information (for example, GPS).

How does geolocation work on laptop?

If you allow Google Chrome to share your location with a site, the browser will send local network information to Google Location Services to get an estimate of your location. The browser can then share your location with the requesting site.


5 Answers

As of today, the W3C Geolocation API (widely associated with, though not technically part of, HTML 5) is support in the following major desktop browsers:

  • Firefox (since 3.5)
  • Safari (since 5.0)
  • Google Chrome (version depends on OS)
  • Opera (since 10.60)
  • Internet Explorer (since IE 9)

There are at least two mobile browsers that implement the Geolocation API:

  • Safari Mobile (since iPhone OS 3.0)
  • Android (since at least Android 1.6)

On all of these platforms, you should be able to use navigator.geolocation.getCurrentPosition, etc.

like image 87
user251563 Avatar answered Oct 01 '22 04:10

user251563


Although I think it's a great practice to standardize on the (draft, by the way) W3C Geolocation API, it's worth noting that there are a few other options in the browser, which can be particularly helpful if you need to target an older platform.

  • Firefox 3.1 had support for Geode, which uses calls to navigator.geolocation with very similar syntax.
  • Loki is a plug-in built by Skyhook which works on Internet Explorer 6, Internet Explorer 7, Firefox 2, Firefox 3, Safari and Opera. The syntax is substantially different, but still easy.
  • Google Gears provides a geolocation API with a syntax fairly similar to the W3C API syntax. You can install Google Gears on Internet Explorer 6+, Firefox 1.5+, Safari, Opera Mobile and IE Mobile.
like image 23
npdoty Avatar answered Oct 01 '22 02:10

npdoty


From a similar more recent topic:

"I'm working on an open source library that supports all javascript location capable phones with the W3C standard. So far it supports iPhone, Android, BlackBerry and some fringe browser platforms running in a browser. The lib can also be used when writing web stack standalone apps for Nokia OVI and the Palm WebOS.

http://code.google.com/p/geo-location-javascript/"

like image 20
Stan Wiechers Avatar answered Oct 01 '22 04:10

Stan Wiechers


The W3C version works on android 2.*. On android 1.6 you can fallback to gears, which will work pretty much the same way. In theory the W3C standard should also work on Firefox mobile (Fennec), which currently is available for Nokia's Maemo devices and will be standard on MeeGo.

like image 22
Anders Sundnes Løvlie Avatar answered Oct 01 '22 02:10

Anders Sundnes Løvlie


You don’t have to have the newest mobile phone to use GPS and Geolocation API. Almost every mobile browser (without proxy server) can be used to read position from buidin GPS. If You have Java and GPS in Your phone – You can use mobile-gps-web-gate – see at http://code.google.com/p/mobile-gps-web-gate/

like image 37
krycek Avatar answered Oct 01 '22 03:10

krycek