react-naver-maps-kit 1.0.1 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1306 -43
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1307 -46
- package/dist/index.js.map +1 -1
- package/dist/overlays/marker/Marker.d.ts +4 -0
- package/dist/overlays/marker/Marker.d.ts.map +1 -1
- package/dist/overlays/marker-clusterer/ClustererContext.d.ts +46 -0
- package/dist/overlays/marker-clusterer/ClustererContext.d.ts.map +1 -0
- package/dist/overlays/marker-clusterer/MarkerClusterer.d.ts +49 -0
- package/dist/overlays/marker-clusterer/MarkerClusterer.d.ts.map +1 -0
- package/dist/overlays/marker-clusterer/algorithms/createAlgorithm.d.ts +4 -0
- package/dist/overlays/marker-clusterer/algorithms/createAlgorithm.d.ts.map +1 -0
- package/dist/overlays/marker-clusterer/algorithms/grid.d.ts +17 -0
- package/dist/overlays/marker-clusterer/algorithms/grid.d.ts.map +1 -0
- package/dist/overlays/marker-clusterer/algorithms/radius.d.ts +17 -0
- package/dist/overlays/marker-clusterer/algorithms/radius.d.ts.map +1 -0
- package/dist/overlays/marker-clusterer/algorithms/supercluster.d.ts +25 -0
- package/dist/overlays/marker-clusterer/algorithms/supercluster.d.ts.map +1 -0
- package/dist/overlays/marker-clusterer/types.d.ts +376 -0
- package/dist/overlays/marker-clusterer/types.d.ts.map +1 -0
- package/dist/react/components/NaverMap.d.ts +1 -0
- package/dist/react/components/NaverMap.d.ts.map +1 -1
- package/package.json +19 -17
|
@@ -14,6 +14,10 @@ interface MarkerOverlayProps {
|
|
|
14
14
|
zIndex?: MarkerOptions["zIndex"];
|
|
15
15
|
collisionBehavior?: boolean;
|
|
16
16
|
collisionBoxSize?: naver.maps.Size | naver.maps.SizeLiteral;
|
|
17
|
+
/** Used by MarkerClusterer to identify this marker. Falls back to React key if not provided. */
|
|
18
|
+
clustererItemId?: string | number;
|
|
19
|
+
/** Data object passed to MarkerClusterer's algorithm via registry. */
|
|
20
|
+
item?: unknown;
|
|
17
21
|
}
|
|
18
22
|
interface MarkerLifecycleProps {
|
|
19
23
|
children?: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Marker.d.ts","sourceRoot":"","sources":["../../../src/overlays/marker/Marker.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Marker.d.ts","sourceRoot":"","sources":["../../../src/overlays/marker/Marker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ItemRecord } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* `<MarkerClusterer>` 내부에서 `<Marker>`가 사용하는 registry 인터페이스.
|
|
4
|
+
*
|
|
5
|
+
* `enabled`가 `false`이면 `<Marker>`는 직접 `naver.maps.Marker`를 생성합니다.
|
|
6
|
+
*
|
|
7
|
+
* @typeParam TData - `<Marker item={...}>`의 데이터 타입
|
|
8
|
+
*/
|
|
9
|
+
export interface ClustererRegistry<TData = unknown> {
|
|
10
|
+
/**
|
|
11
|
+
* 클러스터링 활성화 여부.
|
|
12
|
+
* `false`이면 `<Marker>`가 개별 마커로 직접 렌더링됩니다.
|
|
13
|
+
*/
|
|
14
|
+
readonly enabled: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 마커를 registry에 등록합니다.
|
|
17
|
+
*
|
|
18
|
+
* @param item - 등록할 마커 레코드
|
|
19
|
+
*/
|
|
20
|
+
register(item: ItemRecord<TData>): void;
|
|
21
|
+
/**
|
|
22
|
+
* 마커를 registry에서 제거합니다.
|
|
23
|
+
*
|
|
24
|
+
* @param id - 제거할 마커의 ID
|
|
25
|
+
*/
|
|
26
|
+
unregister(id: string | number): void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* `<MarkerClusterer>`가 제공하는 registry Context.
|
|
30
|
+
* register/unregister/enabled만 포함하며, enabled가 바뀔 때만 갱신됩니다.
|
|
31
|
+
*
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
export declare const ClustererContext: import("react").Context<ClustererRegistry<unknown> | null>;
|
|
35
|
+
/**
|
|
36
|
+
* `<MarkerClusterer>`가 제공하는 visibility Context.
|
|
37
|
+
* 재계산 시마다 갱신되며, 클러스터링 안 된 마커 ID 집합을 담습니다.
|
|
38
|
+
*
|
|
39
|
+
* `<Marker>`는 이 context를 읽어 자신이 보여야 할지 판단합니다.
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export declare const ClustererVisibilityContext: import("react").Context<ReadonlySet<string | number>>;
|
|
44
|
+
/** @internal */
|
|
45
|
+
export declare function useClustererContext(): ClustererRegistry | null;
|
|
46
|
+
//# sourceMappingURL=ClustererContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClustererContext.d.ts","sourceRoot":"","sources":["../../../src/overlays/marker-clusterer/ClustererContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB,CAAC,KAAK,GAAG,OAAO;IAChD;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAExC;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACvC;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,4DAAgD,CAAC;AAI9E;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,uDAAyD,CAAC;AAIjG,gBAAgB;AAChB,wBAAgB,mBAAmB,IAAI,iBAAiB,GAAG,IAAI,CAE9D"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { MarkerClustererProps } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* 다수의 `<Marker>`를 자동으로 클러스터링해주는 컴포넌트.
|
|
4
|
+
*
|
|
5
|
+
* ## 동작 방식
|
|
6
|
+
*
|
|
7
|
+
* 1. `<Marker>`는 `<MarkerClusterer>` 내부에서 직접 마커를 생성하지 않고
|
|
8
|
+
* 내부 registry에 위치·데이터를 등록합니다.
|
|
9
|
+
* 2. `MarkerClusterer`는 지도 이벤트(`idle`, `move`, `zoom`) 발생 시
|
|
10
|
+
* 현재 줌·뷰포트 기준으로 클러스터를 재계산합니다.
|
|
11
|
+
* 3. 클러스터 마커는 `<Marker>` JSX로 렌더링되며, children으로 클러스터 아이콘이 전달됩니다.
|
|
12
|
+
* 4. 클러스터에 포함되지 않은 단독 포인트는 원래 `<Marker>` children을 그대로 표시합니다.
|
|
13
|
+
*
|
|
14
|
+
* ## 기본 사용법
|
|
15
|
+
*
|
|
16
|
+
* ```tsx
|
|
17
|
+
* <NaverMap ...>
|
|
18
|
+
* <MarkerClusterer
|
|
19
|
+
* algorithm={{ type: "supercluster", radius: 60 }}
|
|
20
|
+
* clusterIcon={({ count }) => <ClusterBadge count={count} />}
|
|
21
|
+
* onClusterClick={({ cluster, helpers }) =>
|
|
22
|
+
* helpers.zoomToCluster(cluster, { maxZoom: 16 })
|
|
23
|
+
* }
|
|
24
|
+
* >
|
|
25
|
+
* {points.map(p => (
|
|
26
|
+
* <Marker
|
|
27
|
+
* key={p.id}
|
|
28
|
+
* position={p.position}
|
|
29
|
+
* item={p}
|
|
30
|
+
* >
|
|
31
|
+
* <CustomPin />
|
|
32
|
+
* </Marker>
|
|
33
|
+
* ))}
|
|
34
|
+
* </MarkerClusterer>
|
|
35
|
+
* </NaverMap>
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* ## 주의 사항
|
|
39
|
+
*
|
|
40
|
+
* - `<MarkerClusterer>`는 반드시 `<NaverMap>` 내부에 위치해야 합니다.
|
|
41
|
+
* - `enabled={false}`로 설정하면 클러스터링이 해제되고 각 `<Marker>`가 개별 마커로 렌더링됩니다.
|
|
42
|
+
*
|
|
43
|
+
* @typeParam TData - children `<Marker>`의 `item` prop 타입
|
|
44
|
+
*/
|
|
45
|
+
export declare function MarkerClusterer<TData = unknown>(props: MarkerClustererProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
export declare namespace MarkerClusterer {
|
|
47
|
+
var displayName: string;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=MarkerClusterer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkerClusterer.d.ts","sourceRoot":"","sources":["../../../src/overlays/marker-clusterer/MarkerClusterer.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAMV,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAsEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,2CAkPlF;yBAlPe,eAAe"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BuiltInAlgorithmConfig, ClusterAlgorithm } from "../types";
|
|
2
|
+
export declare function isBuiltInConfig(value: BuiltInAlgorithmConfig | ClusterAlgorithm<unknown>): value is BuiltInAlgorithmConfig;
|
|
3
|
+
export declare function createAlgorithm<TData>(config: BuiltInAlgorithmConfig): ClusterAlgorithm<TData>;
|
|
4
|
+
//# sourceMappingURL=createAlgorithm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAlgorithm.d.ts","sourceRoot":"","sources":["../../../../src/overlays/marker-clusterer/algorithms/createAlgorithm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAKzE,wBAAgB,eAAe,CAC7B,KAAK,EAAE,sBAAsB,GAAG,gBAAgB,CAAC,OAAO,CAAC,GACxD,KAAK,IAAI,sBAAsB,CAEjC;AAYD,wBAAgB,eAAe,CAAC,KAAK,EACnC,MAAM,EAAE,sBAAsB,GAC7B,gBAAgB,CAAC,KAAK,CAAC,CAuBzB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AlgorithmContext, Cluster, ClusterAlgorithm, ItemRecord } from "../types";
|
|
2
|
+
interface GridAlgorithmOptions {
|
|
3
|
+
readonly gridSize: number;
|
|
4
|
+
readonly minClusterSize: number;
|
|
5
|
+
readonly maxZoom: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class GridAlgorithm<TData> implements ClusterAlgorithm<TData> {
|
|
8
|
+
private options;
|
|
9
|
+
constructor(options?: Partial<GridAlgorithmOptions>);
|
|
10
|
+
cluster(items: readonly ItemRecord<TData>[], ctx: AlgorithmContext): {
|
|
11
|
+
readonly clusters: readonly Cluster<TData>[];
|
|
12
|
+
readonly points: readonly ItemRecord<TData>[];
|
|
13
|
+
};
|
|
14
|
+
setOptions(options: unknown): void;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../../src/overlays/marker-clusterer/algorithms/grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExF,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAQD,qBAAa,aAAa,CAAC,KAAK,CAAE,YAAW,gBAAgB,CAAC,KAAK,CAAC;IAClE,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAInD,OAAO,CACL,KAAK,EAAE,SAAS,UAAU,CAAC,KAAK,CAAC,EAAE,EACnC,GAAG,EAAE,gBAAgB,GACpB;QACD,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;KAC/C;IAuED,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAKnC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AlgorithmContext, Cluster, ClusterAlgorithm, ItemRecord } from "../types";
|
|
2
|
+
interface RadiusAlgorithmOptions {
|
|
3
|
+
readonly radius: number;
|
|
4
|
+
readonly minClusterSize: number;
|
|
5
|
+
readonly maxZoom: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class RadiusAlgorithm<TData> implements ClusterAlgorithm<TData> {
|
|
8
|
+
private options;
|
|
9
|
+
constructor(options?: Partial<RadiusAlgorithmOptions>);
|
|
10
|
+
cluster(items: readonly ItemRecord<TData>[], ctx: AlgorithmContext): {
|
|
11
|
+
readonly clusters: readonly Cluster<TData>[];
|
|
12
|
+
readonly points: readonly ItemRecord<TData>[];
|
|
13
|
+
};
|
|
14
|
+
setOptions(options: unknown): void;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=radius.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radius.d.ts","sourceRoot":"","sources":["../../../../src/overlays/marker-clusterer/algorithms/radius.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExF,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAyBD,qBAAa,eAAe,CAAC,KAAK,CAAE,YAAW,gBAAgB,CAAC,KAAK,CAAC;IACpE,OAAO,CAAC,OAAO,CAAyB;gBAE5B,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAIrD,OAAO,CACL,KAAK,EAAE,SAAS,UAAU,CAAC,KAAK,CAAC,EAAE,EACnC,GAAG,EAAE,gBAAgB,GACpB;QACD,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;KAC/C;IAiED,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAKnC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AlgorithmContext, Cluster, ClusterAlgorithm, ItemRecord } from "../types";
|
|
2
|
+
interface SuperclusterAlgorithmOptions {
|
|
3
|
+
readonly radius: number;
|
|
4
|
+
readonly minZoom: number;
|
|
5
|
+
readonly maxZoom: number;
|
|
6
|
+
readonly extent: number;
|
|
7
|
+
readonly nodeSize: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class SuperclusterAlgorithm<TData> implements ClusterAlgorithm<TData> {
|
|
10
|
+
private options;
|
|
11
|
+
private index;
|
|
12
|
+
private itemMap;
|
|
13
|
+
private dirty;
|
|
14
|
+
constructor(options?: Partial<SuperclusterAlgorithmOptions>);
|
|
15
|
+
cluster(items: readonly ItemRecord<TData>[], ctx: AlgorithmContext): {
|
|
16
|
+
readonly clusters: readonly Cluster<TData>[];
|
|
17
|
+
readonly points: readonly ItemRecord<TData>[];
|
|
18
|
+
};
|
|
19
|
+
setOptions(options: unknown): void;
|
|
20
|
+
destroy(): void;
|
|
21
|
+
private load;
|
|
22
|
+
private getLeaves;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=supercluster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supercluster.d.ts","sourceRoot":"","sources":["../../../../src/overlays/marker-clusterer/algorithms/supercluster.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAExF,UAAU,4BAA4B;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAgBD,qBAAa,qBAAqB,CAAC,KAAK,CAAE,YAAW,gBAAgB,CAAC,KAAK,CAAC;IAC1E,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,KAAK,CAA8D;IAC3E,OAAO,CAAC,OAAO,CAAsD;IACrE,OAAO,CAAC,KAAK,CAAQ;gBAET,OAAO,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC;IAW3D,OAAO,CACL,KAAK,EAAE,SAAS,UAAU,CAAC,KAAK,CAAC,EAAE,EACnC,GAAG,EAAE,gBAAgB,GACpB;QACD,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;KAC/C;IAmDD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAelC,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,IAAI;IAyBZ,OAAO,CAAC,SAAS;CAmBlB"}
|
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* 위도/경도를 나타내는 순수 객체 타입.
|
|
4
|
+
*
|
|
5
|
+
* `naver.maps.LatLngLiteral`은 `{lat, lng} | PointArrayLiteral` 유니언이라
|
|
6
|
+
* 프로퍼티 접근 시 타입 에러가 발생합니다. 이 타입은 그 문제를 피하기 위해
|
|
7
|
+
* `{lat, lng}` 형태만 허용하는 좁은 타입입니다.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const pos: LatLngLiteral = { lat: 37.5666, lng: 126.9784 };
|
|
11
|
+
*/
|
|
12
|
+
export interface LatLngLiteral {
|
|
13
|
+
readonly lat: number;
|
|
14
|
+
readonly lng: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 지도 영역(bounding box)을 나타내는 순수 객체 타입.
|
|
18
|
+
*
|
|
19
|
+
* `naver.maps.LatLngBoundsLiteral`의 유니언 타입 문제를 피하기 위해
|
|
20
|
+
* `{south, west, north, east}` 형태만 허용합니다.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* const bounds: LatLngBoundsLiteral = {
|
|
24
|
+
* south: 37.56, north: 37.58, west: 126.97, east: 126.99
|
|
25
|
+
* };
|
|
26
|
+
*/
|
|
27
|
+
export interface LatLngBoundsLiteral {
|
|
28
|
+
readonly south: number;
|
|
29
|
+
readonly west: number;
|
|
30
|
+
readonly north: number;
|
|
31
|
+
readonly east: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* `<Marker>`가 `<MarkerClusterer>` registry에 등록할 때 사용하는 데이터 레코드.
|
|
35
|
+
*
|
|
36
|
+
* `id`는 마커를 식별하는 고유값으로, `<Marker>`의 `clustererItemId` prop에서 옵니다.
|
|
37
|
+
* `data`는 클러스터 이벤트 콜백(`onClusterClick` 등)에서 원본 데이터를 접근할 때 사용합니다.
|
|
38
|
+
*
|
|
39
|
+
* @typeParam TData - 각 마커에 연결된 커스텀 데이터 타입
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* // Marker가 클러스터러에 등록되는 레코드 형태
|
|
43
|
+
* const record: ItemRecord<{ name: string }> = {
|
|
44
|
+
* id: "marker-1",
|
|
45
|
+
* position: { lat: 37.5, lng: 127.0 },
|
|
46
|
+
* data: { name: "서울시청" }
|
|
47
|
+
* };
|
|
48
|
+
*/
|
|
49
|
+
export interface ItemRecord<TData> {
|
|
50
|
+
/** 마커를 식별하는 고유 ID. `<Marker clustererItemId={id}>` 와 대응합니다. */
|
|
51
|
+
readonly id: string | number;
|
|
52
|
+
/** 마커의 위경도 좌표 */
|
|
53
|
+
readonly position: LatLngLiteral;
|
|
54
|
+
/** 마커에 연결된 커스텀 데이터 */
|
|
55
|
+
readonly data: TData;
|
|
56
|
+
/**
|
|
57
|
+
* 단일 포인트로 렌더링될 때 적용할 naver.maps.Marker 옵션.
|
|
58
|
+
* 클러스터링되지 않은 개별 마커에만 적용됩니다.
|
|
59
|
+
*/
|
|
60
|
+
readonly markerOptions?: Readonly<Partial<naver.maps.MarkerOptions>>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 클러스터링 알고리즘이 생성한 클러스터 단위.
|
|
64
|
+
*
|
|
65
|
+
* `count`개의 마커가 한 위치로 묶인 결과입니다.
|
|
66
|
+
* `items`는 `clusterData.includeItems: true` 일 때만 채워집니다.
|
|
67
|
+
*
|
|
68
|
+
* @typeParam TData - 각 마커에 연결된 커스텀 데이터 타입
|
|
69
|
+
*/
|
|
70
|
+
export interface Cluster<TData> {
|
|
71
|
+
/** 클러스터 고유 ID. 알고리즘마다 형식이 다릅니다 (예: `"sc-42"`, `"grid-3:7"`). */
|
|
72
|
+
readonly id: string;
|
|
73
|
+
/** 클러스터 대표 위치 (일반적으로 포함 마커들의 중심점) */
|
|
74
|
+
readonly position: LatLngLiteral;
|
|
75
|
+
/** 클러스터에 포함된 마커 수 */
|
|
76
|
+
readonly count: number;
|
|
77
|
+
/**
|
|
78
|
+
* 클러스터에 속한 마커들을 모두 포함하는 최소 영역.
|
|
79
|
+
* `zoomToCluster` 헬퍼에서 `fitBounds` 계산에 사용됩니다.
|
|
80
|
+
*/
|
|
81
|
+
readonly bounds?: LatLngBoundsLiteral;
|
|
82
|
+
/**
|
|
83
|
+
* 클러스터에 속한 마커 레코드 목록.
|
|
84
|
+
* `MarkerClustererProps.clusterData.includeItems`가 `true`일 때만 포함됩니다.
|
|
85
|
+
*/
|
|
86
|
+
readonly items?: readonly ItemRecord<TData>[];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 클러스터링 알고리즘이 호출될 때 전달받는 현재 지도 컨텍스트.
|
|
90
|
+
*/
|
|
91
|
+
export interface AlgorithmContext {
|
|
92
|
+
/** 현재 지도 줌 레벨 */
|
|
93
|
+
readonly zoom: number;
|
|
94
|
+
/** 현재 지도 뷰포트 영역 */
|
|
95
|
+
readonly bounds: LatLngBoundsLiteral;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 커스텀 클러스터링 알고리즘을 구현할 때 사용하는 인터페이스.
|
|
99
|
+
*
|
|
100
|
+
* 내장 알고리즘(`grid`, `radius`, `supercluster`) 대신
|
|
101
|
+
* 직접 구현한 알고리즘을 `<MarkerClusterer algorithm={...}>`에 전달할 수 있습니다.
|
|
102
|
+
*
|
|
103
|
+
* @typeParam TData - 각 마커에 연결된 커스텀 데이터 타입
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* class MyAlgorithm implements ClusterAlgorithm<MyData> {
|
|
107
|
+
* cluster(items, ctx) {
|
|
108
|
+
* // 클러스터/단일 포인트 분류 로직
|
|
109
|
+
* return { clusters: [...], points: [...] };
|
|
110
|
+
* }
|
|
111
|
+
* }
|
|
112
|
+
*
|
|
113
|
+
* <MarkerClusterer algorithm={new MyAlgorithm()}>
|
|
114
|
+
* ...
|
|
115
|
+
* </MarkerClusterer>
|
|
116
|
+
*/
|
|
117
|
+
export interface ClusterAlgorithm<TData> {
|
|
118
|
+
/**
|
|
119
|
+
* 현재 컨텍스트(줌, 뷰포트)에 맞게 마커들을 클러스터와 단일 포인트로 분류합니다.
|
|
120
|
+
*
|
|
121
|
+
* @param items - 등록된 전체 마커 레코드 목록
|
|
122
|
+
* @param ctx - 현재 지도 줌 및 뷰포트 정보
|
|
123
|
+
* @returns 클러스터 배열과 클러스터링되지 않은 단일 포인트 배열
|
|
124
|
+
*/
|
|
125
|
+
cluster(items: readonly ItemRecord<TData>[], ctx: AlgorithmContext): {
|
|
126
|
+
readonly clusters: readonly Cluster<TData>[];
|
|
127
|
+
readonly points: readonly ItemRecord<TData>[];
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* 런타임에 알고리즘 옵션을 갱신합니다.
|
|
131
|
+
* 구현은 선택 사항이며, 제공되지 않으면 옵션 변경이 무시됩니다.
|
|
132
|
+
*
|
|
133
|
+
* @param options - 새로운 옵션 (타입은 구현체가 정의)
|
|
134
|
+
*/
|
|
135
|
+
setOptions?(options: unknown): void;
|
|
136
|
+
/**
|
|
137
|
+
* 컴포넌트 언마운트 시 내부 리소스를 정리합니다.
|
|
138
|
+
* 구현은 선택 사항입니다.
|
|
139
|
+
*/
|
|
140
|
+
destroy?(): void;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* `<MarkerClusterer>`의 `algorithm` prop에 전달할 수 있는 내장 알고리즘 설정.
|
|
144
|
+
*
|
|
145
|
+
* 세 가지 타입(`grid`, `radius`, `supercluster`) 중 하나를 선택하며,
|
|
146
|
+
* 각 타입별 옵션은 선택 사항입니다.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* // Grid 알고리즘 (격자 기반)
|
|
150
|
+
* <MarkerClusterer algorithm={{ type: "grid", gridSize: 80 }}>
|
|
151
|
+
*
|
|
152
|
+
* // Radius 알고리즘 (거리 기반)
|
|
153
|
+
* <MarkerClusterer algorithm={{ type: "radius", radius: 100 }}>
|
|
154
|
+
*
|
|
155
|
+
* // Supercluster 알고리즘 (기본값)
|
|
156
|
+
* <MarkerClusterer algorithm={{ type: "supercluster", radius: 60 }}>
|
|
157
|
+
*/
|
|
158
|
+
export type BuiltInAlgorithmConfig = {
|
|
159
|
+
/** 격자(grid) 기반 클러스터링. 동일 셀에 속한 마커들을 하나로 묶습니다. */
|
|
160
|
+
readonly type: "grid";
|
|
161
|
+
/** 격자 셀 크기 (픽셀 단위). 기본값: `60` */
|
|
162
|
+
readonly gridSize?: number;
|
|
163
|
+
/** 클러스터로 인정할 최소 마커 수. 기본값: `2` */
|
|
164
|
+
readonly minClusterSize?: number;
|
|
165
|
+
/** 이 줌 레벨 이상에서는 클러스터링을 비활성화합니다. 기본값: `21` */
|
|
166
|
+
readonly maxZoom?: number;
|
|
167
|
+
} | {
|
|
168
|
+
/** 거리(radius) 기반 클러스터링. 중심점에서 반경 내 마커들을 하나로 묶습니다. */
|
|
169
|
+
readonly type: "radius";
|
|
170
|
+
/** 클러스터링 반경 (픽셀 단위). 기본값: `60` */
|
|
171
|
+
readonly radius?: number;
|
|
172
|
+
/** 클러스터로 인정할 최소 마커 수. 기본값: `2` */
|
|
173
|
+
readonly minClusterSize?: number;
|
|
174
|
+
/** 이 줌 레벨 이상에서는 클러스터링을 비활성화합니다. 기본값: `21` */
|
|
175
|
+
readonly maxZoom?: number;
|
|
176
|
+
} | {
|
|
177
|
+
/**
|
|
178
|
+
* [Supercluster](https://github.com/mapbox/supercluster) 기반 클러스터링 (기본값).
|
|
179
|
+
* 계층적 그리드 기반으로 빠르고 정확한 클러스터링을 제공합니다.
|
|
180
|
+
*/
|
|
181
|
+
readonly type: "supercluster";
|
|
182
|
+
/** 클러스터링 반경 (픽셀 단위). 기본값: `60` */
|
|
183
|
+
readonly radius?: number;
|
|
184
|
+
/** 클러스터링을 시작할 최소 줌 레벨. 기본값: `0` */
|
|
185
|
+
readonly minZoom?: number;
|
|
186
|
+
/** 클러스터링을 적용할 최대 줌 레벨. 기본값: `16` */
|
|
187
|
+
readonly maxZoom?: number;
|
|
188
|
+
/** 타일 좌표 범위. 기본값: `512` */
|
|
189
|
+
readonly extent?: number;
|
|
190
|
+
/** KD-Tree 노드 크기. 기본값: `64` */
|
|
191
|
+
readonly nodeSize?: number;
|
|
192
|
+
};
|
|
193
|
+
/**
|
|
194
|
+
* 클러스터 마커의 아이콘을 React 컴포넌트로 렌더링하는 함수 타입.
|
|
195
|
+
*
|
|
196
|
+
* 반환한 ReactNode는 `createRoot`로 DOM 요소에 마운트되어
|
|
197
|
+
* `naver.maps.Marker`의 HTML 아이콘으로 사용됩니다.
|
|
198
|
+
*
|
|
199
|
+
* @typeParam TData - 각 마커에 연결된 커스텀 데이터 타입
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* const clusterIcon: ClusterIconRenderer<MyData> = ({ cluster, count }) => (
|
|
203
|
+
* <div className="cluster-badge">{count}</div>
|
|
204
|
+
* );
|
|
205
|
+
*
|
|
206
|
+
* <MarkerClusterer clusterIcon={clusterIcon}>
|
|
207
|
+
* ...
|
|
208
|
+
* </MarkerClusterer>
|
|
209
|
+
*/
|
|
210
|
+
export type ClusterIconRenderer<TData> = (args: {
|
|
211
|
+
/** 해당 클러스터 객체 */
|
|
212
|
+
readonly cluster: Cluster<TData>;
|
|
213
|
+
/** 클러스터에 포함된 마커 수 (`cluster.count`와 동일) */
|
|
214
|
+
readonly count: number;
|
|
215
|
+
}) => ReactNode;
|
|
216
|
+
/**
|
|
217
|
+
* `onClusterClick` 콜백에서 제공되는 헬퍼 메서드 모음.
|
|
218
|
+
*
|
|
219
|
+
* 클러스터 클릭 시 지도 조작(줌인, fitBounds 등)을 쉽게 구현할 수 있습니다.
|
|
220
|
+
*
|
|
221
|
+
* @typeParam TData - 각 마커에 연결된 커스텀 데이터 타입
|
|
222
|
+
*/
|
|
223
|
+
export interface MarkerClustererHelpers<TData> {
|
|
224
|
+
/**
|
|
225
|
+
* 클러스터의 마커들이 모두 보이도록 지도 뷰포트를 조정합니다.
|
|
226
|
+
*
|
|
227
|
+
* `cluster.bounds`가 있으면 `fitBounds`로 이동하고,
|
|
228
|
+
* 없으면 클러스터 위치로 이동 후 줌을 1단계 올립니다.
|
|
229
|
+
*
|
|
230
|
+
* @param cluster - 이동할 대상 클러스터
|
|
231
|
+
* @param options.padding - bounds 패딩 (퍼센트). 기본값: 없음
|
|
232
|
+
* @param options.maxZoom - fitBounds 후 이 줌보다 크면 줌을 제한합니다
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* onClusterClick={({ cluster, helpers }) => {
|
|
236
|
+
* helpers.zoomToCluster(cluster, { padding: 10, maxZoom: 16 });
|
|
237
|
+
* }}
|
|
238
|
+
*/
|
|
239
|
+
zoomToCluster(cluster: Cluster<TData>, options?: {
|
|
240
|
+
readonly padding?: number;
|
|
241
|
+
readonly maxZoom?: number;
|
|
242
|
+
}): void;
|
|
243
|
+
/**
|
|
244
|
+
* 지정한 영역이 화면에 맞도록 지도 뷰포트를 조정합니다.
|
|
245
|
+
*
|
|
246
|
+
* @param bounds - 화면에 맞출 영역
|
|
247
|
+
* @param options.padding - bounds 패딩 (퍼센트). 기본값: 없음
|
|
248
|
+
*
|
|
249
|
+
* @example
|
|
250
|
+
* helpers.fitBounds({ south: 37.5, north: 37.6, west: 126.9, east: 127.0 });
|
|
251
|
+
*/
|
|
252
|
+
fitBounds(bounds: LatLngBoundsLiteral, options?: {
|
|
253
|
+
readonly padding?: number;
|
|
254
|
+
}): void;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* `<MarkerClusterer>` 컴포넌트의 props 타입.
|
|
258
|
+
*
|
|
259
|
+
* @typeParam TData - children `<Marker>`의 `item` prop 타입. 클러스터 콜백에서 사용됩니다.
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* // 기본 사용 (supercluster, 기본 아이콘)
|
|
263
|
+
* <MarkerClusterer>
|
|
264
|
+
* {points.map(p => (
|
|
265
|
+
* <Marker key={p.id} clustererItemId={p.id} position={p.position} item={p} />
|
|
266
|
+
* ))}
|
|
267
|
+
* </MarkerClusterer>
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* // 커스텀 아이콘 + 클릭 핸들러
|
|
271
|
+
* <MarkerClusterer
|
|
272
|
+
* clusterIcon={({ count }) => <ClusterBadge count={count} />}
|
|
273
|
+
* onClusterClick={({ cluster, helpers }) => helpers.zoomToCluster(cluster)}
|
|
274
|
+
* >
|
|
275
|
+
* ...
|
|
276
|
+
* </MarkerClusterer>
|
|
277
|
+
*/
|
|
278
|
+
export interface MarkerClustererProps<TData> {
|
|
279
|
+
/**
|
|
280
|
+
* 사용할 클러스터링 알고리즘.
|
|
281
|
+
*
|
|
282
|
+
* - `BuiltInAlgorithmConfig` 객체를 전달하면 내장 알고리즘(`grid`, `radius`, `supercluster`)을 사용합니다.
|
|
283
|
+
* - `ClusterAlgorithm<TData>` 인스턴스를 전달하면 커스텀 알고리즘을 사용합니다.
|
|
284
|
+
* - 생략하면 `supercluster` 알고리즘이 기본으로 사용됩니다.
|
|
285
|
+
*
|
|
286
|
+
* @default { type: "supercluster", radius: 60 }
|
|
287
|
+
*/
|
|
288
|
+
readonly algorithm?: BuiltInAlgorithmConfig | ClusterAlgorithm<TData>;
|
|
289
|
+
/**
|
|
290
|
+
* 클러스터 마커 아이콘을 렌더링하는 함수.
|
|
291
|
+
*
|
|
292
|
+
* 반환값은 React 컴포넌트로 `naver.maps.Marker`의 HTML 아이콘으로 사용됩니다.
|
|
293
|
+
* 생략하면 파란 원형 기본 아이콘이 표시됩니다.
|
|
294
|
+
*
|
|
295
|
+
* @example
|
|
296
|
+
* clusterIcon={({ count }) => (
|
|
297
|
+
* <div style={{ background: "red", borderRadius: "50%", padding: 8 }}>{count}</div>
|
|
298
|
+
* )}
|
|
299
|
+
*/
|
|
300
|
+
readonly clusterIcon?: ClusterIconRenderer<TData>;
|
|
301
|
+
/**
|
|
302
|
+
* 클러스터 마커 클릭 시 호출되는 콜백.
|
|
303
|
+
*
|
|
304
|
+
* `cluster` 객체와 지도 조작을 위한 `helpers`를 함께 제공합니다.
|
|
305
|
+
*
|
|
306
|
+
* @example
|
|
307
|
+
* onClusterClick={({ cluster, helpers }) => {
|
|
308
|
+
* console.log(`${cluster.count}개 마커 클릭`);
|
|
309
|
+
* helpers.zoomToCluster(cluster, { maxZoom: 16 });
|
|
310
|
+
* }}
|
|
311
|
+
*/
|
|
312
|
+
readonly onClusterClick?: (args: {
|
|
313
|
+
readonly cluster: Cluster<TData>;
|
|
314
|
+
readonly helpers: MarkerClustererHelpers<TData>;
|
|
315
|
+
}) => void;
|
|
316
|
+
/**
|
|
317
|
+
* 재계산 트리거와 디바운스 설정.
|
|
318
|
+
*/
|
|
319
|
+
readonly behavior?: {
|
|
320
|
+
/**
|
|
321
|
+
* 클러스터 재계산을 트리거할 지도 이벤트.
|
|
322
|
+
*
|
|
323
|
+
* - `"idle"`: 지도 이동/줌 완료 후 (기본값, 성능 최적화)
|
|
324
|
+
* - `"move"`: 지도가 이동하는 동안 실시간으로
|
|
325
|
+
* - `"zoom"`: 줌 레벨 변경 시
|
|
326
|
+
*
|
|
327
|
+
* @default "idle"
|
|
328
|
+
*/
|
|
329
|
+
readonly recomputeOn?: "idle" | "move" | "zoom";
|
|
330
|
+
/**
|
|
331
|
+
* 재계산 디바운스 지연 시간 (ms).
|
|
332
|
+
* 짧게 설정할수록 반응성이 높아지지만 성능 비용이 증가합니다.
|
|
333
|
+
*
|
|
334
|
+
* @default 200
|
|
335
|
+
*/
|
|
336
|
+
readonly debounceMs?: number;
|
|
337
|
+
};
|
|
338
|
+
/**
|
|
339
|
+
* 클러스터 객체에 포함할 데이터 옵션.
|
|
340
|
+
*/
|
|
341
|
+
readonly clusterData?: {
|
|
342
|
+
/**
|
|
343
|
+
* `cluster.items`에 개별 마커 레코드 목록을 포함할지 여부.
|
|
344
|
+
*
|
|
345
|
+
* `true`로 설정하면 `onClusterClick` 콜백에서 `cluster.items`로
|
|
346
|
+
* 해당 클러스터의 모든 마커 데이터에 접근할 수 있습니다.
|
|
347
|
+
*
|
|
348
|
+
* @default true
|
|
349
|
+
*/
|
|
350
|
+
readonly includeItems?: boolean;
|
|
351
|
+
/**
|
|
352
|
+
* `cluster.items`에 포함할 최대 마커 수.
|
|
353
|
+
* `includeItems`가 `true`일 때만 적용됩니다.
|
|
354
|
+
* 생략하면 모든 마커가 포함됩니다.
|
|
355
|
+
*/
|
|
356
|
+
readonly maxItemsInCluster?: number;
|
|
357
|
+
};
|
|
358
|
+
/**
|
|
359
|
+
* 클러스터링 활성화 여부.
|
|
360
|
+
*
|
|
361
|
+
* `false`로 설정하면 클러스터링이 해제되고 각 `<Marker>`가 개별 마커로 렌더링됩니다.
|
|
362
|
+
* 다시 `true`로 전환하면 클러스터링이 재개됩니다.
|
|
363
|
+
*
|
|
364
|
+
* @default true
|
|
365
|
+
*/
|
|
366
|
+
readonly enabled?: boolean;
|
|
367
|
+
/**
|
|
368
|
+
* 클러스터러에 등록할 `<Marker>` 컴포넌트들.
|
|
369
|
+
*
|
|
370
|
+
* `<MarkerClusterer>` 내부의 `<Marker>`는 직접 지도에 마커를 생성하지 않고
|
|
371
|
+
* 클러스터러 registry에 데이터를 등록합니다.
|
|
372
|
+
* `<Marker>`에 반드시 `clustererItemId` prop을 지정해야 합니다.
|
|
373
|
+
*/
|
|
374
|
+
readonly children: React.ReactNode;
|
|
375
|
+
}
|
|
376
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/overlays/marker-clusterer/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@ interface NaverMapOptionProps {
|
|
|
44
44
|
customStyleId?: MapOptions["customStyleId"];
|
|
45
45
|
}
|
|
46
46
|
interface NaverMapLifecycleProps {
|
|
47
|
+
children?: ReactNode;
|
|
47
48
|
onMapReady?: (map: naver.maps.Map) => void;
|
|
48
49
|
onMapDestroy?: () => void;
|
|
49
50
|
onMapError?: (error: Error) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NaverMap.d.ts","sourceRoot":"","sources":["../../../src/react/components/NaverMap.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjE,KAAK,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AAExC,UAAU,mBAAmB;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,sBAAsB,CAAC,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAC9D,oBAAoB,CAAC,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAC1D,iBAAiB,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACpD,uBAAuB,CAAC,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAChE,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACpD,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,kBAAkB,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACtD,cAAc,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC9C,qBAAqB,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC9C,qBAAqB,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC5D,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1C,mBAAmB,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC;IACxD,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,iBAAiB,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,kBAAkB,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACtD,UAAU,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC9C,EAAE,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACtB,aAAa,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;CAC7C;AAED,UAAU,sBAAsB;IAC9B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,UAAU,kBAAkB;IAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAC/C,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IACrD,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAC/D,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC1D,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC7D,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC9D,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IACzD,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC5D,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC9D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IACjD,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC5D,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IACzD,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC9D,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC9D,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC7D,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC9D,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC1D,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC7D,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC/D,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IAClE,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC/D,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC9D,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC7D,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC/D,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IACjE,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,KAAK,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;AAE3E,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAC7C,sBAAsB,GACtB,kBAAkB,GAClB,gBAAgB,CAAC;AAEnB,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAC9E,GAAG,IAAI,EAAE,MAAM,CAAC,KACb,MAAM,CAAC,GACR,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,GAC7B,KAAK,CAAC;AAEV,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IACzC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9E,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACjD,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC7C,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,sBAAsB,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACjE,aAAa,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/C,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,WAAW,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC3C,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACjD,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC7C,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CAClC;AAmmBD,eAAO,MAAM,QAAQ,mNAA4C,CAAC"}
|
|
1
|
+
{"version":3,"file":"NaverMap.d.ts","sourceRoot":"","sources":["../../../src/react/components/NaverMap.tsx"],"names":[],"mappings":"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"}
|