2013-07-22 136 views
1

我想使用Google GeoLocation API獲取基於WiFi接入點詳細信息的位置座標。問題是我總是爲每個請求返回相同的座標。 的URL到我通過我的JSON請求是:https://www.googleapis.com/geolocation/v1/geolocate?key=MY_API谷歌地理位置API的問題

,我傳遞的JSON數據是:

{ 
    "radioType":"wcdma", 
    "homeMobileNetworkCode":"0", 
    "homeMobileCountryCode":"234", 
    "carrier":"BT", 
    "wifiAccessPoints": 
    { 
     "signalStrength":-73, 
     "age":0, 
     "macAddress":"BSSID HERE", 
     "channel":6 
    } 
} 

我是總部設在英國,這就是爲什麼我設置跨國公司到234. ,我只能使用wifi進行位置服務,因爲當前配置中沒有安裝GPS。 ,我總是從谷歌得到的迴應是:

{ 
    "location": 
    { 
     "lat": 51.517098999999995, 
     "lng": -0.146084 
    }, 
    "accuracy": 18000.0 
} 

我收到迴應我的所有請求,而不管我通過爲請求的任何BSSID的。你能告訴我我在這裏做錯了什麼嗎?我通過這個數據爲使用Java POST請求(使用上市here標準的HTTP連接)

回答

0

如果你看一看在谷歌地理位置API文檔: https://developers.google.com/maps/documentation/business/geolocation/#cell_tower_object

你可以看到「發射塔」和'wifiAccessPoints'部分設置爲使用JSON數組。

因此,要解決您的例子,它應該是這樣的:

{ 
    "radioType":"wcdma", 
    "homeMobileNetworkCode":"0", 
    "homeMobileCountryCode":"234", 
    "carrier":"BT", 
    "wifiAccessPoints": 
    [{ 
     "signalStrength":-73, 
     "age":0, 
     "macAddress":"BSSID HERE", 
     "channel":6 
    }] 
}