我正在尝试使用Google GeoLocation API根据WiFi接入点详细信息获取位置坐标。问题是我总是为每个请求返回相同的坐标。
我传递JSON请求的URL是:https://www.googleapis.com/geolocation/v1/geolocate?key=MY_API
我传递的JSON数据是:
{
"radioType":"wcdma",
"homeMobileNetworkCode":"0",
"homeMobileCountryCode":"234",
"carrier":"BT",
"wifiAccessPoints":
{
"signalStrength":-73,
"age":0,
"macAddress":"BSSID HERE",
"channel":6
}
}
我是英国人,这就是为什么我将MNC设置为234.此外,我只能使用wifi进行定位服务,因为当前配置中没有安装GPS。 我一直从Google收到的回复是:
{
"location":
{
"lat": 51.517098999999995,
"lng": -0.146084
},
"accuracy": 18000.0
}
我收到了所有请求的响应,无论我作为请求传递了什么BSSID。你能告诉我这里我做错了什么吗?我使用Java(使用列出的标准HTTP连接here)
将此数据作为POST请求传递答案 0 :(得分:0)
如果您查看Google地理位置API文档: https://developers.google.com/maps/documentation/business/geolocation/#cell_tower_object
您可以看到'cellTowers'和'wifiAccessPoints'部分设置为使用JSON数组。
所以,为了修复你的例子,它应该是这样的:
{
"radioType":"wcdma",
"homeMobileNetworkCode":"0",
"homeMobileCountryCode":"234",
"carrier":"BT",
"wifiAccessPoints":
[{
"signalStrength":-73,
"age":0,
"macAddress":"BSSID HERE",
"channel":6
}]
}