Wi-Fi查询之GeolocationAPI接口
Google GeolocationAPI 是google的综合定位接口。基站定位,Wi-Fi定位,GPS定位都可以通过gears GeolocationAPI来查询。本文主要介绍GeolocationAPI的Wi-Fi查询功能以及使用方法。
GeolocationAPI google有官方的详细api说明。GeolocationAPI接口使用HTTP协议,交互数据为json语法。
除了必须的version,host参数外,涉及到wi-fi查询的主要有以下几个参数:
mac_address:Wi-Fi热点的mac地址,格式为12:34:56:78:9a:bc
signal_strength:信号强度
下面的参数是可选的:
ssid:Wi-Fi热点的SSID
age:距离检测到该Wi-Fi热点起经过了多长时间
channel:该Wi-Fi热点所使用的channel(1~11)
signal_to_noise:信噪比(dB)
我们来实际测试一下:
构造一个简单的json查询格式
{
"host": "maps.google.com",
"version": "1.1.0",
"wifi_towers": [
{
"mac_address" : "00:0F:xx:xx:xx:xx",
"signal_strength" : -73}
]
}


我是在用android平台,请问lz如果没有连接的话,似乎是不能取得mac数据的是吧,所以
老大你好,为什么我每次查询都获取的是同样的经纬度呢?而且是错误的经纬度,经纬度好像是北京中心。mac地址换了,返回的经纬度也是一样。 这些是我请求和返回的结果。F:\tools\curl-7.17.1-win32-ssl\curl-7.17.1>curl -d ” {\”version\”:\”1.1.0\”,\”ho
st\”:\”maps.google.com\”,\”wifi_towers\”: [{\"mac_address\": \"e8:04:62:08:a
6:f0\",\"signal_strength\":5,\"age\" : 9}]}” http://www.google.com/loc/json
{“location”:{“latitude”:39.904214,”longitude”:116.407413,”accuracy”:18000.0},”ac
cess_token”:”2:Dl1d-gvxQptiBUQI:3aRCE3LIhMDz3SyG”}
用楼主的接口能返回到正确的地址,百思不得其解啊
@stoic
貌似Google对 http://www.google.com/loc/json 接口的wifi查询做了限制。
从结果看,accuracy:18000,精度18公里,应该是根据ip定位的结果。
谢谢ant的回复, 我用你的wifi接口查询返回的数据是正确的,羡慕啊,我试了很长时间,好几个月了,数据一直都是这个错误的数据“latitude”:39.904214,”longitude”:116.407413 。 18公里,诶@ant