본문 바로가기
TIL

[트러블슈팅] 지역 검색 앱

by chengzior 2024. 12. 6.

<지역 검색 앱을 구현하며 부딪힌 몇 가지 문제 및 해결방법>

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