use*_*393 4 geolocation ip-geolocation flutter
我只想知道设备所在的国家/地区。不是街道,不是城市,不是省。只是国家。我应该能够获得这种粗略的信息,而不必询问用户的位置权限,我看到许多应用程序和网站以某种方式知道我目前在哪个国家/地区,而无需事先询问我任何事情。
有没有什么方法可以在 Android 和 iOS 上使用 Flutter 做到这一点?
(可选但高度赞赏)如果 API 是绝对必要的。哪个会最便宜?
far*_*ama 15
尝试这个:
将 'package:http/http.dart' 导入为 http;
try {
http.get('http://ip-api.com/json').then((value) {
print(json.decode(value.body)['country'].toString());
});
} catch (err) {
//handleError
}
Run Code Online (Sandbox Code Playgroud)
您可以使用 IP 地理定位服务,例如Ipreregistry:
import 'package:http/http.dart' as http;
Future<String> lookupUserCountry() async {
final response = await http.get('https://api.ipregistry.co?key=tryout');
if (response.statusCode == 200) {
return json.decode(response.body)['location']['country']['name'];
} else {
throw Exception('Failed to get user country from IP address');
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,在 Android 上它需要权限android.permission.INTERNET。
| 归档时间: |
|
| 查看次数: |
1752 次 |
| 最近记录: |