Last updated:
0 purchases
korea weather api
패키지 설명 #
기상청_단기예보 ((구)_동네예보) 조회서비스 API 쉽게 연동하기 위해 개발된 패키지입니다.
사용방법 #
공공데이터포털 인증키 발급 #
아래의 사이트에서 로그인 또는 회원가입 후 활용신청해주세요.
공공데이터포털기상청_단기예보 ((구)_동네예보) 조회서비스
Request #
초단기실황조회, 초단기예보조회, 단기예보조회는 아래의 Weather class을 사용해주세요
Weather({
// 날짜 [Default: DateTime.now()]
DateTime? dateTime,
// 예보지점 X 좌표 [Default: 37.5635694]
double? nx,
// 예보지점 Y 좌표 [Default: 126.9800083]
double? ny,
// 공공데이터포털에서 받은 인증키
required this.serviceKey,
// 페이지번호 [Default: 1]
this.pageNo = 1,
// 한 페이지 결과 수 [Default: 1000]
this.numOfRows = 1000,
// 요청자료형식(XML/JSON) [Default: JSON]
this.dataType = DataType.json,
})
copied to clipboard
예보버전는 아래의 WeatherVersion class을 사용해주세요
WeatherVersion({
// 날짜 [Default: DateTime.now()]
DateTime? dateTime,
// 공공데이터포털에서 받은 인증키
required this.serviceKey,
// 페이지번호 [Default: 1]
this.pageNo = 1,
// 한 페이지 결과 수 [Default: 1]
this.numOfRows = 1,
// 요청자료형식(XML/JSON) [Default: JSON]
this.dataType = DataType.json,
// 파일구분 [Default: ODAM]
this.fileType = FileType.oDAM,
})
copied to clipboard
Response #
SuperNct는 초단기실황, SuperFct는 초단기예보, Fct는 단기예보, FctVersion는 예보버전을 의미합니다.
Interface #
isLog : 로그 출력 여부를 의미합니다. Default 값은 true입니다.
customLogger : custom 로그를 출력하고 싶은 경우 pretty_dio_logger 패키지를 사용해주세요.
getJSON : JSON 데이터를 가져와 Model를 반환합니다.
getItemJSON : JSON 데이터를 가져와 Item을 반환합니다.
getItemListJSON : JSON 데이터를 가져와 Item List로 반환합니다.
getItemXML : XML 데이터를 가져와 Item을 반환합니다.
getItemListXML : XML 데이터를 가져와 Item List로 반한합니다.
예제 #
Main #
다음과 같이 WeatherHttpOverrides()을 main()에 추가해주세요.
import 'dart:io';
import 'package:korea_weather_api/korea_weather_api.dart';
void main() {
HttpOverrides.global = WeatherHttpOverrides();
runApp(const MyApp());
}
copied to clipboard
초단기 실황 예제 #
Future<List<ItemSuperNct>> getSuperNctListJson({isLog = false}) async {
final weather = Weather(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: 100,
);
final List<ItemSuperNct> items = [];
final json =
await SuperNctRepositoryImp(isLog: isLog).getItemListJSON(weather);
json.map((e) => setState(() => items.add(e))).toList();
return items;
}
copied to clipboard
Future<List<ItemSuperNct>> getSuperNctListXML({isLog = false}) async {
final weather = Weather(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: 100,
);
final List<ItemSuperNct> items = [];
final json = await SuperNctRepositoryImp(
isLog: isLog,
).getItemListXML(weather);
json.map((e) => setState(() => items.add(e))).toList();
return items;
}
copied to clipboard
Future<List<ItemSuperNct>> getSuperNctJson(int index, {isLog = false}) async {
final List<ItemSuperNct> list = [];
final weather = Weather(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: index,
);
for (int i = 0; i < index; i++) {
SuperNctRepositoryImp(isLog: isLog).getItemJSON(weather, i).then((v) {
setState(() => list.add(v));
});
}
return list;
}
copied to clipboard
Future<List<ItemSuperNct>> getSuperNctXML(int index, {isLog = false}) async {
final List<ItemSuperNct> list = [];
final weather = Weather(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: index,
);
for (int i = 0; i < index; i++) {
SuperNctRepositoryImp(isLog: isLog).getItemXML(weather, i).then((v) {
setState(() => list.add(v));
});
}
return list;
}
copied to clipboard
초단기 예보 #
Future<List<ItemSuperFct>> getSuperFctListJson({isLog = false}) async {
final weather = Weather(
serviceKey: 'serviceKey',
);
final List<ItemSuperFct> items = [];
final json =
await SuperFctRepositoryImp(isLog: isLog).getItemListJSON(weather);
json.map((e) => setState(() => items.add(e))).toList();
return items;
}
copied to clipboard
Future<List<ItemSuperFct>> getSuperFctListXML({isLog = false}) async {
final weather = Weather(
serviceKey: 'serviceKey',
);
final List<ItemSuperFct> items = [];
final json =
await SuperFctRepositoryImp(isLog: isLog).getItemListXML(weather);
json.map((e) => setState(() => items.add(e))).toList();
return items;
}
copied to clipboard
Future<List<ItemSuperFct>> getSuperFctJson(int index, {isLog = false}) async {
final List<ItemSuperFct> list = [];
final weather = Weather(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: index,
);
for (int i = 0; i < index; i++) {
SuperFctRepositoryImp(isLog: isLog).getItemJSON(weather, i).then((v) {
setState(() => list.add(v));
});
}
return list;
}
copied to clipboard
Future<List<ItemSuperFct>> getSuperFctXML(int index, {isLog = false}) async {
final List<ItemSuperFct> list = [];
final weather = Weather(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: index,
);
for (int i = 0; i < index; i++) {
SuperFctRepositoryImp(isLog: isLog).getItemXML(weather, i).then((v) {
setState(() => list.add(v));
});
}
return list;
}
copied to clipboard
단기 예보 예제 #
Future<List<ItemFct>> getFctListJson({isLog = true}) async {
final weather = Weather(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: 10,
);
final List<ItemFct> items = [];
final json = await FctRepositoryImp(isLog: isLog).getItemListJSON(weather);
json.map((e) => setState(() => items.add(e))).toList();
return items;
}
copied to clipboard
Future<List<ItemFct>> getFctListXML({isLog = false}) async {
final weather = Weather(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: 10,
);
final List<ItemFct> items = [];
final json = await FctRepositoryImp(isLog: isLog).getItemListXML(weather);
json.map((e) => setState(() => items.add(e))).toList();
return items;
}
copied to clipboard
Future<List<ItemFct>> getFctJson(int index, {isLog = false}) async {
final List<ItemFct> list = [];
final weather = Weather(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: index,
);
for (int i = 0; i < index; i++) {
FctRepositoryImp(isLog: isLog).getItemJSON(weather, i).then((v) {
setState(() => list.add(v));
});
}
return list;
}
copied to clipboard
Future<List<ItemFct>> getFctXML(int index, {isLog = false}) async {
final List<ItemFct> list = [];
final weather = Weather(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: index,
);
for (int i = 0; i < index; i++) {
FctRepositoryImp(isLog: isLog).getItemXML(weather, i).then((v) {
setState(() => list.add(v));
});
}
return list;
}
copied to clipboard
예보버전 예제 #
Future<List<ItemFctVersion>> getFctVersionJson({isLog = true}) async {
final List<ItemFctVersion> items = [];
final weather = WeatherVersion(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: 100,
);
FctVersionRepositoryImp(isLog: isLog, customLogger: logger)
.getItemJSON(weather)
.then((value) => setState(() => items.add(value)));
return items;
}
copied to clipboard
Future<List<ItemFctVersion>> getFctVersionXML({isLog = true}) async {
final List<ItemFctVersion> items = [];
final weather = WeatherVersion(
serviceKey: 'serviceKey',
pageNo: 1,
numOfRows: 100,
);
FctVersionRepositoryImp(isLog: isLog, customLogger: logger)
.getItemXML(weather)
.then((value) => setState(() => items.add(value)));
return items;
}
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.