1

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 に設定しました。また、現在の構成には GPS がインストールされていないため、位置情報サービスには Wi-Fi しか使用できません。私がいつも Google から受け取る応答は次のとおりです。

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

要求として渡す BSSID に関係なく、すべての要求に対してその応答を受け取ります。ここで何が間違っているのか教えていただけますか?このデータを Java を使用して POST リクエストとして渡します (ここにリストされている標準の HTTP 接続を使用)

4

1 に答える 1

0

Google Geolocation 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
    }]
}
于 2013-09-20T21:20:01.783 に答える