同样的 wifi,用智能手机连接后能大致定位。用电脑浏览器打开网页版地图就无法定位。什么原理?
1
cnta 2017-05-16 13:10:57 +08:00
智能手机 WiFi 定位原理,不管 GPS 和基站定位的话,需要有服务器的存在,收集用户的地理位置信息与 WiFi 热点的 MAC,系统提供 API。windows 应该没有对应的服务,不保证完全对,但是大概是这么回事。
|
2
LokiSharp 2017-05-16 15:27:45 +08:00 3
先问是不是,再问能不能。
|
3
how2ex OP @cnta 肯定是有一个基站跟位置的对应关系,难道这个对应关系是手机提供的?还有就是网络运营商如果不提供基站位置信息,其他平台如何获得这个对应关系?
|
4
mangovi 2017-05-16 16:17:22 +08:00
电脑也可以定位啊
|
5
bukip 2017-05-16 16:40:18 +08:00
电脑也可以
|
6
wc951 2017-05-16 16:42:02 +08:00 via Android
win10 有位置服务啊
|
7
cnta 2017-05-16 16:47:35 +08:00
@how2ex 你可以看看苹果手机 /android 手机的 WiFi 定位原理,有很多定位方式的。电脑上网页一般根据你的 IP 地址定个大概的位置,不过由于有无线网卡,利用智能手机的 WIFi 定位原理笔记本理论上也能一样的弄。(假设你问的就是 WiFi 定位啊)
|
8
Shura 2017-05-16 16:50:51 +08:00 via Android
电脑也有,比如 html5 就有专门用于获取地理位置的 API,不区分终端设备的。
|
9
xyfan 2017-05-16 16:56:00 +08:00
每次电脑打开百度地图都能精确定位。电脑与手机相比少了基站信息,但其他信息大部分都有。
|
10
panda1001 2017-05-16 17:22:19 +08:00 1
@cnta
手机高精度定位基本上就是 基站 热点 MAC 地址 GPS 低精度的 IP 地址 重要的是 app 拿到信息后及时上传 电脑能拿到上面某一种一样可以高精度定位 前些日子的百度高精度 IP 数据库 不知多少人的国外 VPS 中招 某墙要是维护这个数据库后果可想而知 基站 MAC 地理位置 API http://www.cellocation.com/interfac/ 树莓派插上 3g 网卡一样可以基站定位 https://ooo.0o0.ooo/2017/05/16/591ac3571f69d.png |
11
zhengjian 2017-05-16 19:11:17 +08:00
macOS 的地图,宿舍位置都不差。 |
13
cnta 2017-05-16 19:22:13 +08:00 via Android
@panda1001 嗯,是有多种定位方式,当时看到楼主的关键字是连上 WiFi 手机能精确定位电脑不行,着重点就在 WiFi 定位了。应该还是 GPS+热点 MAC 定位效果最好,基站都感觉不太精确了。
|
14
linhua 2017-05-16 19:29:22 +08:00
|
15
Devmingwang 2017-05-16 20:21:01 +08:00
网页定位当然是不行的,windows 系统下面浏览器是没法直接访问硬件层面的(就是当前搜到多少 wifi 等等)。
手机的话,除非是这个 wifi 热点存在了很多年(谷歌没有被封之前就有),不然也是还需要依靠基站和当前能搜到的其他 wifi 进行定位的,最差劲的时候是需要依赖 ip 地址的。 |
17
lightening 2017-05-16 20:41:13 +08:00
@rssf 手机也是啊,要是没 wifi 也不行啊。
|
18
lightening 2017-05-16 20:41:23 +08:00
@qiukong 你记错了
|
19
qiukong 2017-05-16 20:51:37 +08:00 via iPhone
@lightening 确实记错,献丑了……
|
20
bolice 2017-05-17 10:08:07 +08:00
弱弱的问一句,苹果的耳机是怎么定位的?
|
22
how2ex OP @linhua www.opengps.cn 这个网址我曾经在不同 IP 地址测试过,基本上只能定位你所在城市,用手机地图打开能定位到精度几百米。当然手机没有打开 GPS。
|
24
how2ex OP |
26
how2ex OP @panda1001 http://www.cellocation.com/interfac/ 这个网感觉有点实质性的关于定位的内容,但是没搞懂。
|
29
how2ex OP @kingmo888 没有登录噢,要不你截图给大家欣赏一下。可以将图片上传至 https://sm.ms/再分享链接
|
30
keinx 2017-05-17 17:16:41 +08:00
@kingmo888
我没有登录百度,手机上也就只有一个百度输入法(登录的),mac 电脑上没有百度的产品而且也没有登录百度地图 ![]( https://ooo.0o0.ooo/2017/05/17/591c143b2e068.png) |
31
dven 2017-05-17 18:45:05 +08:00
很难获得宽带的安装位置,不像手机基站,除非笔记本中有 GPS 模块
|
32
honeycomb 2017-05-17 22:26:27 +08:00
电脑也可以啊
“智能手机能通过网络定位” 通常是只需要用这个手机当前连接的接入点的 BSSID,SSID 和公网 IP 就能给出足够好的定位了。 这就是为什么有的应用不给它定位权限,依然能粗略定位的原因,因为定位权限一般不限制访问当前已连接的接入点的 BSSID/SSID,公网 IP 更是不可能限制。 如果需要更准确的,那么加上周围其它接入点的信息可以计算出更好的定位。 这些信息在电脑上也能获得 |
36
how2ex OP |
37
zengfxios 2017-05-18 12:08:23 +08:00
|
40
xyfan 2017-05-18 12:20:50 +08:00 via Android
@kingmo888 网页的确是登录状态,但我手机里没有任何百度系应用,百度还能凭空获取我手机信息不成?
|
42
honeycomb 2017-05-18 14:53:38 +08:00 via Android
@how2ex
bssid 不能随意修改,bssid 就是 AP 的 mac。所以改 SSID 可以认为无意义。bssid 的参考作用比 ssid 更强。 其实很多情况下,即便不在无线网络下,只要有公网 IP 地址也能获得非常好的定位精度。前段时间百度提供的高精度 IP 定位就是一个例子。 @xyfan 问题在于,你认为你手机里没有百度系应用,不等于你手机里确实没有百度系的应用(或者其它执行定位功能的代码): 1,定位 sdk 2,只需要公网 IP 地址的高精度 IP 定位 API,当然这个对于手机效用会低一些,因为仅使用蜂窝网络时,手机的公网地址一般是运营商的内网地址,随时会变。 3,手机 framework 层的的辅助定位系统( agps 等)用的就是百度提供的接口 |
43
xyfan 2017-05-18 19:40:56 +08:00
@honeycomb 我只是在反驳 kingmo888 而已,至于我的手机在绿守+冰箱+xprivacy 的联合管理下,我自认为没有百度定位 SDK 能在我不知道的情况下运行。其次我手机里的辅助定位用的谷歌家的框架。我知道国内厂商的手机大多使用百度或高德的框架,但我的手机不是。
|
45
how2ex OP @honeycomb “ bssid 不能随意修改,bssid 就是 AP 的 mac。”按照你的说法,我换个路由器或者修改路由器的 mac 就会对定位有影响?但我用手机纯网络定位,感觉跟 mac 没啥关系噢,不管连接到什么设备,网络定位都是比较准的。精度几百米到 2km 不等。
|
46
honeycomb 2017-05-19 20:00:55 +08:00 via Android
@how2ex
你换一个路由器的结果: 1,bssid 变更,ssid 说不定也被你换了。 2,IP 地址可能因为重新拨号也换了。 这个时候你用手机”纯网络定位“,看样子是给了 coarse_location 权限,但没有给 precise_location 权限,如此: 定位逻辑代码用 getScanResult()获得的结果(返回扫描附近的 AP 列表)没有什么变化,除了信号最强的那个 AP (你家的路由器)不一样了。 后台由此判定出的位置和之前没有什么区别。 这里还没考虑其实你还开着蜂窝网络,基站的标识符也可以提供类似 BSSID 的定位作用,如果是 LTE,还可能提供专用于定位功能的报文来获得更好的定位结果。 除此以外还有蓝牙 beacon,地磁信息等内容提供室内的高精度辅助定位等。 |