首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >web浏览器地理定位是如何工作的?

web浏览器地理定位是如何工作的?
EN

Stack Overflow用户
提问于 2010-09-03 15:47:18
回答 4查看 17.9K关注 0票数 7

我想知道地理定位在Google Chrome或Firefox等web浏览器中是如何工作的?

我可以访问这个网站的http://html5demos.com/geo,当我允许浏览器发送我的位置时,它会显示我的当前位置。

但当我将这个URL发送给我的朋友进行测试时,它并不适用于所有的朋友。地理定位是如何工作的,我如何实现它以获得正确的位置?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-03 15:55:02

它的工作原理:Wikipedia article讨论了几种技术(IP地址定位,手机和WiFi三角测量,全球定位系统)。

在检索地理位置数据之前,HTML5实现需要浏览器支持(FF 3.6,Opera10.60,Chrome4.5? 5?,IE也许有一天)用户同意。

至于如何实现它,code of the demo you link to似乎遵循MIT License,它基本上是说“你可以做任何事情,只要你把结果代码保存在许可证下”;所以你可以把这些代码作为构建的基础。

票数 2
EN

Stack Overflow用户

发布于 2010-09-03 15:52:14

当你访问一个位置感知网站时,火狐会问你是否想分享你的位置。

如果你同意,Firefox会收集附近无线接入点的信息和你电脑的IP地址。然后,Firefox将这些信息发送到默认的地理定位服务提供商Google location Services,以获得您的位置估计。然后,将该位置估计值与请求网站共享。

http://www.mozilla.com/en-US/firefox/geolocation/

因此,这取决于他们使用的浏览器和一些运气:-)

票数 6
EN

Stack Overflow用户

发布于 2013-08-13 21:37:07

来自W3C Geolocation API Specification的信息和示例

地理定位API定义了一个高级接口,用于访问仅与托管实现的设备相关联的位置信息,例如纬度和经度。API本身与底层位置信息源无关。位置信息的常见来源包括全球定位系统(GPS)和从网络信号推断的位置,例如IP地址、RFID、WiFi和蓝牙MAC地址以及GSM/CDMA小区ID以及用户输入。不能保证API返回设备的实际位置。

你可以这样实现它:

(一次定位请求)

代码语言:javascript
代码运行次数:0
运行
复制
function showMap(position) {
  // Show a map centered at (position.coords.latitude, position.coords.longitude).
}

// One-shot position request.
navigator.geolocation.getCurrentPosition(showMap);

(请求重复位置更新)

代码语言:javascript
代码运行次数:0
运行
复制
function scrollMap(position) {
  // Scrolls the map so that it is centered at (position.coords.latitude, position.coords.longitude).
}

// Request repeated updates.
var watchId = navigator.geolocation.watchPosition(scrollMap);

function buttonClickHandler() {
  // Cancel the updates when the user clicks a button.
  navigator.geolocation.clearWatch(watchId);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3633879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档