패키지, 저장소 및 앱 카테고리 검색

패키지 상세v1.4.4

flutter_naver_map

Flutter용 네이버 지도 플러그인으로, 한국의 지도 서비스를 제공합니다.

AndroidiOS
30일 다운로드
2.8만
좋아요
116
Pub 점수
140

패키지 설치

flutter pub add flutter_naver_map

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Flutter_Naver_Map은 한국 사용자를 위한 Flutter 플러그인으로, Naver 지도 서비스를 Flutter 애플리케이션에 통합합니다. 개발자들은 Android 및 iOS 앱 내에서 상호작용 가능한 지도를 삽입하고 마커를 표시하며 위치 기반 기능을 활용할 수 있습니다. 이 플러그인은 위성 보기, 교통 정보, 경로 계획을 포함한 Naver의 세밀한 지도 데이터에 접근할 수 있도록 제공합니다. 네이티브 플랫폼 지원을 기반으로 구축되어 원활한 성능과 정확한 지리정보 서비스를 보장합니다. 대한민국 내 지역 탐색, 위치 추적, 지도 중심 애플리케이션에 이상적입니다.

사용 사례

  • Korean location-based apps
  • 내비게이션 및 경로 계획
  • 현지 서비스에서의 지도 통합
  • 실시간 교통 시각화
  • 위치 추적

주요 기능

  • 네이버 지도 통합
  • 마커 및 오버레이 지원
  • 경로 및 교통 데이터
  • 안드로이드 및 iOS 호환성
  • 네이티브 성능

적합한 대상

  • 한국 시장을 겨냥하는 개발자
  • 세부적인 지역 지도가 필요한 앱
  • 위치 인식 모바일 애플리케이션
  • 여행 및 운송 서비스

고려 사항

  • 제한된 국제 지도 커버리지
  • Naver API 키가 필요합니다
  • 한국 지도 데이터 정확도에 따라 다름
  • 잠재적인 라이선스 제한
  • 플랫폼별 구성이 필요합니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

flutter_naver_map

pub package latest release github

[중요 마이그레이션 안내]

1.3.1부터 Naver Cloud Platform의 지도 서비스가 일부 변경됨에 따라, 신규 인증 API가 추가되었습니다.

기존 인증 방식(API)으로 제공되는 서비스는 25년 7월 1일부터 무료 이용량 제공이 중단될 예정이니

이점 참고하시어, 빠르게 마이그레이션 하시길 권장드립니다.

신규 서비스 인증 관련 상세 내용 보기 >

Getting Started

0. 네이버 클라우드 플랫폼 콘솔에서 사용 신청
Mobile Dynamic Map 서비스 사용 신청 방법 자세히 보기
1. Console에서 Services > Application Services > Maps 으로 이동

2. Application 등록하기

Application 등록 > Application 이름 입력 > API 선택에서 “Dynamic Map” 선택 > 서비스 환경 등록 - Android 앱 패키지 이름, iOS Bundle ID 입력 > 등록

3. 등록한 Application의 “인증정보”에서 “Client ID”를 확인

1. 버전 호환성 확인

flutter_naver_map은 Android 6.0(SDK 23), iOS 12.0부터 지원합니다.

이 라이브러리를 사용하기 위해서는, Minimum SDK 버전을 해당 버전으로 올려주세요.

2. 초기화 함수 실행

네이버 클라우드 플랫폼 콘솔에서 가져온 Client ID를 사용합니다. (Client ID 확인 방법은 0-3 섹션 참고)

// 꼭 main 함수에서 실행할 필요는 없으나, 
// 최초로 NaverMap 위젯이 실행되기 이전에 초기화가 꼭 필요합니다.
void main() async {
  WidgetsFlutterBinding.ensureInitialized(); // runApp 실행 이전이면 필요

  await FlutterNaverMap().init(
          clientId: '방금 발급받은 Client ID',
          onAuthFailed: (ex) {
            switch (ex) {
              case NQuotaExceededException(:final message):
                print("사용량 초과 (message: $message)");
                break;
              case NUnauthorizedClientException() ||
              NClientUnspecifiedException() ||
              NAnotherAuthFailedException():
                print("인증 실패: $ex");
                break;
            }
          });

  runApp(const MyApp());
}
3. NaverMap 위젯 사용

다음은 전체 화면으로 NaverMap 위젯을 띄우는 예제입니다.

  • 첫 화면은 서울시청 (37.5666, 126.979), 줌 레벨 14 으로 보여집니다.

  • 서울시청에 마커를 표시합니다.

@override
Widget build(BuildContext context) {
  const seoulCityHall = NLatLng(37.5666, 126.979);
  final safeAreaPadding = MediaQuery.paddingOf(context);
  return Scaffold(
    body: NaverMap(
      options: NaverMapViewOptions(
        contentPadding: safeAreaPadding, // 화면의 SafeArea에 중요 지도 요소가 들어가지 않도록 설정하는 Padding. 필요한 경우에만 사용하세요.
        initialCameraPosition: NCameraPosition(target: seoulCityHall, zoom: 14),
      ),
      onMapReady: (controller) {
        final marker = NMarker(
          id: "city_hall", // Required
          position: seoulCityHall, // Required
          caption: NOverlayCaption(text: "서울시청"), // Optional
        );
        controller.addOverlay(marker); // 지도에 마커를 추가
        print("naver map is ready!");
      },
    ),
  );
}

Version Up Guide

  • 1.2.3 이상 버전으로 업데이트하시면, 다음 과정을 한번 수행해주셔야 합니다. (ios는 pod을 쓰지 않는 경우 생략하거나 pod update 명령어를 실행하는 것 대신 XCode > File > Pacakges > Resolve Package Versions를 실행하세요.)

    (<=1.4.1 -> 1.4.2 포함)

    cd ios # 프로젝트의 ios 폴더로 이동
    pod update NMapsMap # pod을 실행하지 않는 경우 XCode에서 프로젝트를 열어, `File > Pacakges > Resolve Package Versions`를 진행하세요.
    
    cd .. # 프로젝트 루트로 이동 (optional)
    
    cd android # 프로젝트의 android 폴더로 이동
    ./gradlew clean
    ./gradlew --refresh-dependencies
    

    이 명령어를 프로젝트 루트에서 실행하면, 한번에 수행하실 수 있습니다.

    MacOS
    (cd ios && pod update NMapsMap) && (cd android && ./gradlew clean && ./gradlew --refresh-dependencies)
    
    Windows
    cd android && gradlew.bat clean && gradlew.bat --refresh-dependencies
    

카테고리

의존성

의존성 목록 4 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.