我的笔记本电脑上的 Chrome 是如何提供如此精确的地理位置的?
Posted
技术标签:
【中文标题】我的笔记本电脑上的 Chrome 是如何提供如此精确的地理位置的?【英文标题】:How is Chrome on my laptop able to provide such freakishly precise geolocation? 【发布时间】:2015-07-03 05:10:03 【问题描述】:我的代码: var x = document.getElementById("demo");
function getLocation()
if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(showPosition);
else
x.innerhtml = "Geolocation is not supported by this browser.";
function showPosition(position)
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude +
"<br>More or less" + position.accuracy + "meters";
Position.accuracy 是 96 米(对我来说,这已经足够令人惊讶了),但位置本身是准确的。从字面上看,它击中了家。而且我一直认为笔记本电脑只能通过 IP 地址进行地理定位,这应该提供几英里的精度?这些精确信息的来源是什么?
【问题讨论】:
How does Chrome know my geolocation?的可能重复 【参考方案1】:我相信信息的原始来源来自智能手机等移动设备。谷歌和其他公司拥有一个包含 GPS 信息的无线路由器数据库。这些信息可以通过过去将您的无线路由器位置传输给谷歌的移动设备获取。 ios 也是这样做的。
例如。如果我带着我的 IOS 设备走到某个无线路由器旁边,它会拿起无线路由器(虽然没有完全连接)并记下 GPS 位置,然后将其发送给 Apple。现在,Apple 知道了那个无线路由器的位置。这对于 android 设备和 Google 来说都是一样的。
见:
请参阅“Apple 如何收集地理数据?”在 http://www.wired.com/2011/04/apple-iphone-tracking/ 或http://www.theguardian.com/technology/blog/2011/apr/25/google-router-map-exposed【讨论】:
【参考方案2】:http://www.w3schools.com/html/html5_geolocation.asp 有关 geoLocation 和 google map API 的参考。] 他们使用 getCurrentPosition() 来获取用户的当前位置,并且 showPosition() 将经度和纬度返回给用户。getCurrentPosition() 总是给你一个精确的位置。
【讨论】:
以上是关于我的笔记本电脑上的 Chrome 是如何提供如此精确的地理位置的?的主要内容,如果未能解决你的问题,请参考以下文章
Chrome OS上的Android app公测项目将持续到今夏