2010-10-28 34 views
5

Tôi đã xem xét một chút về stackoverflow và Google Groups và chưa thực sự tìm thấy câu trả lời cho câu hỏi chính xác này.Người dùng hiện tại là quốc gia nào?

tôi chỉ đơn giản muốn có thể biết những gì nước người sử dụng điện thoại Android hiện đang trong.

Tôi giả sử TelephonyManager không hoạt động nếu người dùng chỉ được sử dụng wifi. Điều này có đúng không?

Chúng tôi đã cố gắng chuyển vĩ độ hiện tại của người dùng và kinh độ bằng cách sử dụng android.location.Geocoder, nhưng nó thực sự không ổn định. Nó sẽ thường xuyên trả lại kết quả rỗng. Đôi khi chúng ta có thể tiếp tục hỏi nó và cuối cùng nó sẽ trả lại kết quả, nhưng nó thực sự xấu xí. Có cách nào đáng tin cậy hơn không?

Cảm ơn, Rob Sz

+0

Có thể bạn có thể thử sử dụng API Google Maps để nhận quốc gia bằng cách sử dụng vĩ độ và kinh độ. Và cũng có thể http://gis.stackexchange.com/ sẽ giúp ích theo cách nào đó, tôi cho là vậy. –

Trả lời

2

Bạn có thể thử đảo ngược Geo Mã hóa :)

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

Kiểm tra liên kết này. Quốc gia được trả lại bằng JSON.

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

Tôi thành thật không biết liệu điều này có hiệu quả trong mọi trường hợp hay không nhưng tôi tin rằng đây là điều có thể hữu ích.

EDIT: Có vẻ như nó hoạt động tốt :)

Đã thử với quốc gia của tôi và có vẻ hoạt động hoàn hảo.

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

Bạn sẽ nhận được

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

ví dụ, nếu người dùng là ở giữa một đại dương bởi bất kỳ cơ hội: P ​​

+0

Vâng, nó cũng hoạt động ở đây với tôi ở Canada. Có vẻ như tôi chỉ cần short_name theo "loại": yếu tố ["quốc gia", "chính trị"] trong phản hồi. Độ tin cậy là bao nhiêu? Nó có thích ném 404 không? –

+0

Không nghe có vẻ thô lỗ nhưng đọc môi của tôi ... Bản đồ * Google * của nó: D Tuy nhiên, bạn nên biết rằng có giới hạn về số lượng yêu cầu bạn có thể thực hiện mỗi ngày. Kiểm tra liên kết này http://code.google.com/apis/maps/documentation/geocoding/#Limits –

+0

Xin chào, đó là lớp Google Geocoder trong Android không ổn định.Chỉ vì nó từ Google không có nghĩa là nó vàng :) –

0

gì về việc sử dụng dịch vụ định vị dựa trên IP ? Tôi đoán rằng do sự khác biệt về quy định các đơn vị mạng thường khá cụ thể ở từng quốc gia, ngoại trừ các trường hợp như VPN của công ty nơi bạn hầu như được cắm vào mạng ở một nơi khác?

Các vấn đề liên quan