2010-10-28 66 views
5

我查看了一下stackoverflow和Google Groups,並沒有真正找到答案這個確切的問題。用戶目前在哪個國家/地區?

我只是希望能夠知道什麼國家 Android手機的用戶目前在。

我想如果用戶只使用WiFi的TelephonyManager不起作用。這是真的?

我們已經嘗試過使用android.location.Geocoder傳遞用戶當前的經緯度,但它確實是片狀的。它會經常返回空的結果。有時我們可以繼續詢問它,它最終會返回結果,但它確實很難看。有更可靠的方法嗎?

感謝, 羅布SZ

+0

也許你可以嘗試使用Google Maps API來獲取經緯度。我想,http://gis.stackexchange.com/也會以某種方式提供幫助。 – 2010-10-28 15:30:19

回答

2

你可以嘗試反向地理編碼:)

http://code.google.com/apis/maps/documentation/geocoding/ 

檢查此鏈接。該國以JSON退還。

http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false 

我真的不知道這是否會在所有情況下都能正常工作,但我相信這可以提供幫助。

編輯:看起來它還挺工程:)

試着與我的國家,似乎很好地工作。

http://maps.googleapis.com/maps/api/geocode/json?latlng=6.822716,79.878159&sensor=false

你會得到

{ 
    "status": "ZERO_RESULTS", 
    "results": [ ] 
} 

例如,如果用戶在任何機會的海洋中:P採用基於IP的地理定位服務

+0

是的,它在加拿大也適合我。看起來我只需要在響應中的「類型」下面使用short_name:[「country」,「political」]元素。 它有多可靠?它喜歡扔404s嗎? – 2010-10-28 15:51:14

+0

不要聽起來粗魯,但讀我的嘴脣......它*谷歌*地圖:D但是,你應該知道,你可以每天做多少請求是有限制的。查看此鏈接http://code.google.com/apis/maps/documentation/geocoding/#Limits – 2010-10-28 15:53:30

+0

嘿,這是Android中的Google地理編碼器類,它很脆弱。只是因爲它來自谷歌並不意味着它是黃金:) – 2010-10-28 16:04:17

0

什麼?我猜想由於監管方面的差異,網絡部門通常是相當國家特定的,除非企業VPN的情況下,您幾乎可以將網絡插入其他地方?

相關問題