How does HTML5 Geolocation Work?

后端 未结 5 1237
囚心锁ツ
囚心锁ツ 2020-12-04 09:32

Chrome and Firefox have HTML Geolocation implemented.

My question is: how does it work? Do they have a Database locally and get the information from the provider the

相关标签:
5条回答
  • 2020-12-04 10:10

    From Firefox's "How does it work":

    When you visit a location-aware website, Firefox will ask you if you want to share your location.
    If you consent, Firefox gathers information about nearby wireless access points and your computer’s IP address. Then Firefox sends this information to the default geolocation service provider, Google Location Services, to get an estimate of your location. That location estimate is then shared with the requesting website.
    If you say that you do not consent, Firefox will not do anything.

    and from "How Chrome determines your location":

    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. You should examine a website's privacy policy before sharing your location with them.

    0 讨论(0)
  • 2020-12-04 10:11

    First, an amazing demo

    Try this in Chrome.

    How it works

    Here is your answer. Click on "How Google Chrome determines your location".

    From that page:

    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. The local network information used by Google Location Services to estimate your location includes information about visible WiFi access points, including their signal strength; information about your local router; your computer's IP address. The accuracy and coverage of Google Location Services will vary by location.

    Google Chrome saves your location information so that it can be easily retrieved. This information is periodically updated; the frequency of updates depends on changes to your local network information.

    Also, I believe that Google Location Services contains a database built from data collected by Google Street View vans as they match locations with WiFi signals from routers (or at least used to).

    Accessing the database

    As for the database (Google Location Services), this SO question will help you access it.

    0 讨论(0)
  • 2020-12-04 10:11

    In Firefox open a new tab and type in the address about:config. Go past the warning message and type geo.wifi.uri into the filter box, you are now looking at the web service Firefox uses for determining your location.

    0 讨论(0)
  • 2020-12-04 10:21

    My guess to the last question in update4 is that supposedly they are updating your location from time to time, based on what device you use. For example if you used only your PC to access the web, and there is no known wifi networks nearby then your location will be determined by IP address, however information about your network will be gathered, later say you connect iPhone or any other device with GPS to your same wifi network, and use GPS on it, google will match those GPS coordinates to your wifi SSID or IP address. So, after then whenever your browser on PC sends a request for geolocation, it will check if the IP and SSID match (and maybe bunch of other things too, like SSID's in neighborhood and so on), and if they match, it will return the location that was previously determined by your GPS equipped device. This is just a guess of course, but it could be so.. also, even if you have never connected any GPS equipped device to your network, but it still determines it accurately, that might be because of the wifi networks in neighborhood, that are already known by google.. that's an awesome work they do, for sure :)

    Update:
           Firefox
           Google Chrome

    0 讨论(0)
  • 2020-12-04 10:24

    For what it's worth, the API specification itself is agnostic to the geolocation implementation. So while it's true that Mozilla Firefox and Google Chrome both rely on network-enabled geolocation via Google's Location Service database, that's not a requirement of the standard. For example, Mobile Safari on your iPhone will in some cases use GPS rather than WiFi-triangulation or cell-site geolocation, depending on what location service is most accurate and accessible at a given moment.

    And we can hope that future browsers will provide some choice of the location provider. I agree that it would be good for user privacy and functionality if browsers supported geolocation technologies that didn't require sending a list of WiFi IDs to a third party; I suspect that as GPS sensors are more often integrated into smartphones and laptops, we'll see browsers that let you use GPS sensing for the W3C Geolocation API. It might also be nice to have a feature for desktop computers where the location can be manually specified in browser settings, this would also be compatible with the current spec.

    0 讨论(0)
提交回复
热议问题