<지역 검색 앱을 구현하며 부딪힌 몇 가지 문제 및 해결방법>
1. 데이터 아이디와 패스워드, 헤더로 주지 않아서 오류 발생
수정 전 코드)
final response =
await _client.get('https://openapi.naver.com/v1/search/local.json?',
queryParameters: {
'query': query,
'display': 10,
'X-Naver-Client-Id': '###',
'X-Naver-Client-Secret': '###',
},);
수정 후 코드)
final response =
await _client.get('https://openapi.naver.com/v1/search/local.json?',
queryParameters: {
'query': query,
'display': 10,
},
options: Options(
headers: {
'X-Naver-Client-Id': '###',
'X-Naver-Client-Secret': '###',
},
),);
2. flutter_inappwebview에서 http 링크는 안 뜨는 문제 (https는 잘 뜸)
xcode 실행 후
이 두가지 항목을 yes로 바꿔준다.
-> 일시적 방법인지 계속 써도 되는 것인지 확인 필요함.
3.
class HomeViewModel extends AutoDisposeNotifier<List<Location>>{
Future<List<String>> findByLatlng(double lat, double lng) async {
홈뷰모델은 List<Location>을 반환해야 하는데 현재위치로 검색하는 findByLatlng가 List<String>을 반환해서 오류 발생
바로 리스트를 반환하지 않고 지역명 검색 메서드로 넘기기로.
try {
List<String> result = await locationRepository.findByLatlng(lat, lng);
if (result.isNotEmpty) {
state = await locationRepository.searchLocation(result[0]);
}
일단 담아온 리스트를 result라는 변수에 담고
list의 첫번째 값만 받아와서 query로 넣어주는 방식으로 해결
4.
class Location {
String title;
String link;
String category;
String? description;
String? telephone;
String address;
String roadAddress;
String mapx;
String mapy;
bool favorite;
즐겨찾기 기능을 추가하고자 favorite 이라는 변수 추가.
사용자가 하트 버튼을 누르면 favorite값이 반전되는 것으로 구현
문제점은 검색해서 나온 결과가 사라지면 즐겨찾기 페이지 내에서도 사라짐.
객체가 사라지기 때문에..
[해결중...]
'TIL' 카테고리의 다른 글
[TIL] 알고리즘 - 검색 제안 시스템 (0) | 2024.12.10 |
---|---|
[TIL] Bottom Navigator Bar (0) | 2024.12.09 |
[TIL] Flutter - RiverPod 사용법 (1) | 2024.12.05 |
[TIL] Swagger (0) | 2024.12.04 |
[TIL] REST API (0) | 2024.12.03 |