@granite-js/naver-map 1.0.0
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/CHANGELOG.md +7 -0
- package/GraniteNaverMap.podspec +81 -0
- package/android/build.gradle +160 -0
- package/android/gradle.properties +5 -0
- package/android/src/builtinProvider/java/run/granite/navermap/builtinProvider/BuiltInGraniteNaverMapProvider.kt +549 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/run/granite/navermap/GraniteNaverMapEvents.kt +91 -0
- package/android/src/main/java/run/granite/navermap/GraniteNaverMapPackage.kt +16 -0
- package/android/src/main/java/run/granite/navermap/GraniteNaverMapProvider.kt +242 -0
- package/android/src/main/java/run/granite/navermap/GraniteNaverMapRegistry.kt +116 -0
- package/android/src/main/java/run/granite/navermap/GraniteNaverMapView.kt +732 -0
- package/android/src/newarch/java/run/granite/navermap/GraniteNaverMapViewManager.kt +446 -0
- package/android/src/oldarch/java/run/granite/navermap/GraniteNaverMapViewManager.kt +249 -0
- package/dist/module/NaverMapView.js +110 -0
- package/dist/module/NaverMapView.js.map +1 -0
- package/dist/module/index.js +6 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/internals/colorUtils.js +624 -0
- package/dist/module/internals/colorUtils.js.map +1 -0
- package/dist/module/internals/context.js +8 -0
- package/dist/module/internals/context.js.map +1 -0
- package/dist/module/internals/id.js +10 -0
- package/dist/module/internals/id.js.map +1 -0
- package/dist/module/internals/useMapOverlay.js +44 -0
- package/dist/module/internals/useMapOverlay.js.map +1 -0
- package/dist/module/internals/usePreservedReference.js +36 -0
- package/dist/module/internals/usePreservedReference.js.map +1 -0
- package/dist/module/overlays/ArrowheadPath.js +37 -0
- package/dist/module/overlays/ArrowheadPath.js.map +1 -0
- package/dist/module/overlays/Circle.js +35 -0
- package/dist/module/overlays/Circle.js.map +1 -0
- package/dist/module/overlays/GroundOverlay.js +30 -0
- package/dist/module/overlays/GroundOverlay.js.map +1 -0
- package/dist/module/overlays/InfoWindow.js +32 -0
- package/dist/module/overlays/InfoWindow.js.map +1 -0
- package/dist/module/overlays/Marker.js +37 -0
- package/dist/module/overlays/Marker.js.map +1 -0
- package/dist/module/overlays/Path.js +41 -0
- package/dist/module/overlays/Path.js.map +1 -0
- package/dist/module/overlays/Polygon.js +51 -0
- package/dist/module/overlays/Polygon.js.map +1 -0
- package/dist/module/overlays/Polyline.js +60 -0
- package/dist/module/overlays/Polyline.js.map +1 -0
- package/dist/module/overlays/index.js +11 -0
- package/dist/module/overlays/index.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/dist/module/specs/GraniteNaverMapViewNativeComponent.ts +352 -0
- package/dist/module/types/Coord.js +2 -0
- package/dist/module/types/Coord.js.map +1 -0
- package/dist/module/types/index.js +29 -0
- package/dist/module/types/index.js.map +1 -0
- package/dist/typescript/NaverMapView.d.ts +41 -0
- package/dist/typescript/index.d.ts +3 -0
- package/dist/typescript/internals/colorUtils.d.ts +10 -0
- package/dist/typescript/internals/context.d.ts +8 -0
- package/dist/typescript/internals/id.d.ts +1 -0
- package/dist/typescript/internals/useMapOverlay.d.ts +15 -0
- package/dist/typescript/internals/usePreservedReference.d.ts +6 -0
- package/dist/typescript/overlays/ArrowheadPath.d.ts +11 -0
- package/dist/typescript/overlays/Circle.d.ts +10 -0
- package/dist/typescript/overlays/GroundOverlay.d.ts +11 -0
- package/dist/typescript/overlays/InfoWindow.d.ts +14 -0
- package/dist/typescript/overlays/Marker.d.ts +16 -0
- package/dist/typescript/overlays/Path.d.ts +15 -0
- package/dist/typescript/overlays/Polygon.d.ts +10 -0
- package/dist/typescript/overlays/Polyline.d.ts +11 -0
- package/dist/typescript/overlays/index.d.ts +16 -0
- package/dist/typescript/specs/GraniteNaverMapViewNativeComponent.d.ts +92 -0
- package/dist/typescript/types/Coord.d.ts +4 -0
- package/dist/typescript/types/index.d.ts +55 -0
- package/ios/GraniteNaverMap-Bridging-Header.h +20 -0
- package/ios/GraniteNaverMapProvider.swift +312 -0
- package/ios/GraniteNaverMapRegistry.swift +91 -0
- package/ios/GraniteNaverMapView.h +15 -0
- package/ios/GraniteNaverMapView.mm +390 -0
- package/ios/GraniteNaverMapViewImpl.swift +496 -0
- package/ios/GraniteNaverMapViewManager.m +67 -0
- package/ios/GraniteNaverMapViewManager.swift +133 -0
- package/ios/GraniteNaverMapViewWrapper.swift +215 -0
- package/ios/builtinProvider/BuiltInNaverMapProvider.swift +489 -0
- package/ios/builtinProvider/GraniteNaverMapMarkerData.swift +66 -0
- package/ios/builtinProvider/NMFMarker+Extension.swift +65 -0
- package/ios/builtinProvider/RCTConvert+NMFMapView.h +17 -0
- package/ios/builtinProvider/RCTConvert+NMFMapView.m +67 -0
- package/package.json +103 -0
- package/src/NaverMapView.tsx +168 -0
- package/src/index.tsx +3 -0
- package/src/internals/colorUtils.ts +697 -0
- package/src/internals/context.ts +14 -0
- package/src/internals/id.ts +9 -0
- package/src/internals/useMapOverlay.ts +59 -0
- package/src/internals/usePreservedReference.ts +41 -0
- package/src/overlays/ArrowheadPath.ts +71 -0
- package/src/overlays/Circle.ts +68 -0
- package/src/overlays/GroundOverlay.ts +62 -0
- package/src/overlays/InfoWindow.ts +68 -0
- package/src/overlays/Marker.ts +83 -0
- package/src/overlays/Path.ts +87 -0
- package/src/overlays/Polygon.ts +83 -0
- package/src/overlays/Polyline.ts +93 -0
- package/src/overlays/index.ts +23 -0
- package/src/specs/GraniteNaverMapViewNativeComponent.ts +352 -0
- package/src/types/Coord.ts +4 -0
- package/src/types/index.ts +78 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { Platform, View } from 'react-native';
|
|
5
|
+
import { MapContext } from "./internals/context.js";
|
|
6
|
+
import GraniteNaverMapViewNativeComponent from './specs/GraniteNaverMapViewNativeComponent';
|
|
7
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
/**
|
|
9
|
+
* Avoid View Flattening issue on Android
|
|
10
|
+
*/
|
|
11
|
+
const AvoidViewFlatteningOnAndroid = ({
|
|
12
|
+
style,
|
|
13
|
+
children
|
|
14
|
+
}) => {
|
|
15
|
+
if (Platform.OS === 'android') {
|
|
16
|
+
return /*#__PURE__*/_jsx(View, {
|
|
17
|
+
style: style,
|
|
18
|
+
collapsable: false,
|
|
19
|
+
children: children
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
23
|
+
children: children
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
export function NaverMapView({
|
|
27
|
+
style,
|
|
28
|
+
onTouch,
|
|
29
|
+
onMapClick,
|
|
30
|
+
onCameraChange,
|
|
31
|
+
onInitialized,
|
|
32
|
+
children,
|
|
33
|
+
center,
|
|
34
|
+
mapPadding,
|
|
35
|
+
...props
|
|
36
|
+
}) {
|
|
37
|
+
const mapRef = useRef(null);
|
|
38
|
+
const [isReady, setIsReady] = useState(false);
|
|
39
|
+
const markersRef = useRef(new Map());
|
|
40
|
+
const onMarkerClick = useCallback(event => {
|
|
41
|
+
const marker = markersRef.current.get(event.nativeEvent.id);
|
|
42
|
+
marker?.onPress?.();
|
|
43
|
+
}, []);
|
|
44
|
+
const handleCameraChange = useCallback(event => {
|
|
45
|
+
onCameraChange?.(event);
|
|
46
|
+
}, [onCameraChange]);
|
|
47
|
+
const handleTouch = useCallback(event => {
|
|
48
|
+
onTouch?.(event);
|
|
49
|
+
}, [onTouch]);
|
|
50
|
+
const handleMapClick = useCallback(event => {
|
|
51
|
+
onMapClick?.(event);
|
|
52
|
+
}, [onMapClick]);
|
|
53
|
+
const handleInitialized = useCallback(() => {
|
|
54
|
+
console.log('[NaverMapView] handleInitialized called - setting isReady to true');
|
|
55
|
+
setIsReady(true);
|
|
56
|
+
onInitialized?.();
|
|
57
|
+
}, [onInitialized]);
|
|
58
|
+
const mapContext = useMemo(() => isReady && mapRef.current ? {
|
|
59
|
+
mapView: mapRef.current,
|
|
60
|
+
markers: markersRef.current
|
|
61
|
+
} : null, [isReady]);
|
|
62
|
+
|
|
63
|
+
// Convert center prop to native format
|
|
64
|
+
const nativeCenter = useMemo(() => {
|
|
65
|
+
if (!center) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
latitude: center.latitude,
|
|
70
|
+
longitude: center.longitude,
|
|
71
|
+
zoom: center.zoom,
|
|
72
|
+
tilt: center.tilt,
|
|
73
|
+
bearing: center.bearing
|
|
74
|
+
};
|
|
75
|
+
}, [center]);
|
|
76
|
+
|
|
77
|
+
// Convert mapPadding prop to native format
|
|
78
|
+
const nativeMapPadding = useMemo(() => {
|
|
79
|
+
if (!mapPadding) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
top: mapPadding.top,
|
|
84
|
+
left: mapPadding.left,
|
|
85
|
+
bottom: mapPadding.bottom,
|
|
86
|
+
right: mapPadding.right
|
|
87
|
+
};
|
|
88
|
+
}, [mapPadding]);
|
|
89
|
+
return /*#__PURE__*/_jsx(AvoidViewFlatteningOnAndroid, {
|
|
90
|
+
style: style,
|
|
91
|
+
children: /*#__PURE__*/_jsxs(MapContext.Provider, {
|
|
92
|
+
value: mapContext,
|
|
93
|
+
children: [/*#__PURE__*/_jsx(GraniteNaverMapViewNativeComponent, {
|
|
94
|
+
ref: mapRef,
|
|
95
|
+
style: Platform.OS === 'ios' ? style : {
|
|
96
|
+
flex: 1
|
|
97
|
+
},
|
|
98
|
+
...props,
|
|
99
|
+
center: nativeCenter,
|
|
100
|
+
mapPadding: nativeMapPadding,
|
|
101
|
+
onInitialized: handleInitialized,
|
|
102
|
+
onMarkerClick: onMarkerClick,
|
|
103
|
+
onCameraChange: handleCameraChange,
|
|
104
|
+
onTouch: handleTouch,
|
|
105
|
+
onMapClick: handleMapClick
|
|
106
|
+
}), children]
|
|
107
|
+
})
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=NaverMapView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","useRef","useState","Platform","View","MapContext","GraniteNaverMapViewNativeComponent","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AvoidViewFlatteningOnAndroid","style","children","OS","collapsable","NaverMapView","onTouch","onMapClick","onCameraChange","onInitialized","center","mapPadding","props","mapRef","isReady","setIsReady","markersRef","Map","onMarkerClick","event","marker","current","get","nativeEvent","id","onPress","handleCameraChange","handleTouch","handleMapClick","handleInitialized","console","log","mapContext","mapView","markers","nativeCenter","undefined","latitude","longitude","zoom","tilt","bearing","nativeMapPadding","top","left","bottom","right","Provider","value","ref","flex"],"sourceRoot":"../../src","sources":["NaverMapView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,cAAc,qBAAY;AAC1B,cAAc,mBAAgB;AAC9B,cAAc,kBAAS","ignoreList":[]}
|