Google Chrome如何知道我当前的GPS位置以及如何在我的代码中使用它?

时间:2010-07-27 12:25:53

标签: google-chrome gps

今天我意识到有些页面可以找到我(我使用内置无gps的笔记本电脑)使用谷歌浏览器并且非常精确,我知道使用我的IP你可以找到我,但没有这样的预设。现在在google maps,您会看到黄色男士(街景)顶部的按钮,使用谷歌浏览器找到您。

这是如何工作的?有一个 API 可以使用它吗?

3 个答案:

答案 0 :(得分:4)

也可以使用实际的HTML 5 Geolocation功能(仅当您的浏览器支持时):

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(success, error);
} else {
  alert("Not Supported!");
}

function success(position) {
  console.log(position.coords.latitude);
  console.log(position.coords.longitude);
}

function error(msg) {
  console.log(typeof msg == 'string' ? msg : "error");
}

var watchId = navigator.geolocation.watchPosition(function(position) {  
  console.log(position.coords.latitude);
  console.log(position.coords.longitude);
});

navigator.geolocation.clearWatch(watchId);

问候, 的Sascha

答案 1 :(得分:3)

查看help page

  

Google位置服务用于估算您的位置的本地网络信息包括有关可见WiFi接入点的信息,包括其信号强度;有关本地路由器的信息;您计算机的IP地址。 Google位置服务的准确性和覆盖范围因地而异。

答案 2 :(得分:0)

以下是Firefox代码的链接,可让您访问Google位置服务: http://mxr.mozilla.org/mozilla1.9.1/source/dom/src/geolocation/NetworkGeolocationProvider.js

享受!