본문 바로가기
@capgo/capacitor-native-map Device API 오픈 소스

Native Build 맵 Capacitor 플러그인

마커, 카메라, 오버레이를 하나의 API로 Android의 Google Maps, iOS의 Apple MapKit, 웹의 Google Maps JS에서 지원합니다

설치

bun add @capgo/capacitor-native-map bunx cap sync
npm, pnpm 또는 yarn
  • npm install @capgo/capacitor-native-map
  • pnpm add @capgo/capacitor-native-map
  • yarn add @capgo/capacitor-native-map

가이드

Capacitor에서 Native Map 사용법

@capgo/capacitor-native-map 사용하기

Android는 Google Maps, iOS는 Apple MapKit, 웹은 Google Maps JS를 하나의 TypeScript API로 마커, 카메라, 도형, 클러스터링, 이벤트를 처리합니다.

설치

bun add @capgo/capacitor-native-map
bunx cap sync

플러그인이 제공하는 기능

  • create: DOM 요소에 내장된 맵, 또는 toBack: true 투명 HTML 뒤에 표시되는 맵용.
  • updateLayout: 네이티브 맵 크기 조정 및 재배치 (CSS 픽셀).
  • setCamera / fitBounds: 카메라 및 뷰포트 제어.
  • addMarker / addMarkers / removeMarker: 탭 및 드래그 리스너가 있는 마커.
  • enableClustering: 밀집된 마커 세트 그룹화.
  • enableCurrentLocation: 권한 허용 시 사용자 위치 점.
  • 오버레이: 다각형, 폴리라인, 원, 타일 레이어 (플랫폼에 따라 다름).

사용 예시

임베디드 맵

import { NativeMap } from '@capgo/capacitor-native-map';

const map = await NativeMap.create({
  id: 'main-map',
  element: document.getElementById('map')!,
  apiKey: 'YOUR_GOOGLE_MAPS_API_KEY',
  config: {
    center: { lat: 37.7749, lng: -122.4194 },
    zoom: 12,
  },
});

map.setOnMapClickListener((e) => console.log(e.latitude, e.longitude));

// In a framework component, call `await map.destroy()` from your teardown/cleanup hook.

HTML UI가 있는 배경 맵

const map = await NativeMap.create({
  id: 'stores-map',
  toBack: true,
  apiKey: 'YOUR_GOOGLE_MAPS_API_KEY',
  config: {
    center: { lat: 40.7128, lng: -74.006 },
    zoom: 11,
    x: 0,
    y: 0,
    width: window.innerWidth,
    height: window.innerHeight,
  },
});

await map.updateLayout({
  x: 0,
  y: 0,
  width: window.innerWidth,
  height: window.innerHeight,
});

HUD 섹션을 다음으로 감싸세요: data-map-overlay (시작하기 참고) 그래야 오버레이 CSS가 탭을 허용하며, 투명한 영역을 통해 제스처가 맵으로 전달됩니다.

전체 레퍼런스

자주 묻는 질문

Native Map 플러그인 FAQ

Capacitor 앱에 Native Map 플러그인을 어떻게 설치하나요?

"bun add @capgo/capacitor-native-map"(또는 "npm install @capgo/capacitor-native-map")를 실행한 다음 "bunx cap sync"를 실행해 iOS와 Android 프로젝트가 네이티브 code를 인식하도록 하세요. 앱 code에서 "@capgo/capacitor-native-map"로 import 하면 됩니다.

@capgo/capacitor-native-map가 React, Vue, Angular와 호환되나요?

네. Native Map은 Capacitor 패키지이므로 Ionic, React, Vue, Angular, Svelte, 일반 JavaScript 등 Capacitor에서 실행되는 모든 웹 프레임워크와 호환됩니다.

@capgo/capacitor-native-map은 어떤 Capacitor 버전을 지원하나요?

Capgo 플러그인은 Capacitor의 메이저 버전을 따릅니다. 사용 중인 Capacitor 메이저 버전과 일치하는 플러그인 메이저 버전을 사용하세요 (예: Capacitor 8에는 플러그인 v8). 유지 관리되는 버전은 GitHub README의 호환성 표에서 확인할 수 있습니다.

@capgo/capacitor-native-map는 무료 오픈 소스인가요?

네. code 소스 코드는 GitHub의 https://github.com/Cap-go/capacitor-native-map/에 공개되어 있고, npm에서 무료로 설치할 수 있습니다. 버그 리포트와 pull request는 언제나 환영합니다.

App Store 심사 없이 Native Map을 사용하는 code를 업데이트할 수 있나요?

플러그인을 설치하거나 업그레이드하면 네이티브 code가 변경되므로 새로운 스토어 빌드가 필요합니다. 그 이후에는 플러그인을 호출하는 JavaScript, HTML, CSS 변경 사항을 Capgo live updates로 즉시 배포할 수 있습니다.

앱 심사 대기 없이 Native Map 변경 사항을 즉시 배포하세요

스토어 빌드에 플러그인이 포함되면, Capgo live updates로 JavaScript, HTML, CSS 변경 사항을 몇 분 만에 사용자에게 푸시할 수 있습니다.

Capgo로 시작하기