GeoLookupService constructor
GeoLookupService()
构造函数,初始化Dio实例
Implementation
GeoLookupService() : _dio = Dio() {
// 配置基本选项 - 增加超时时间
_dio.options.connectTimeout = const Duration(seconds: 30); // 增加到30秒
_dio.options.receiveTimeout = const Duration(seconds: 30); // 增加到30秒
_dio.options.sendTimeout = const Duration(seconds: 30); // 增加到30秒
_dio.options.headers = {
'User-Agent': 'DartIztroApp/1.0', // Nominatim API要求提供User-Agent
};
// 添加简化的日志拦截器,只记录错误和响应
_dio.interceptors.add(
LogInterceptor(requestBody: false, responseBody: true, error: true),
);
// 预加载本地城市数据
_loadLocalCityData();
// 预加载城市经纬度数据
_loadCityLatData();
}