Skip to content

Commit 044bc6d

Browse files
committed
fix: ios marker tap
1 parent cd7c7ef commit 044bc6d

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

ios/Overlay/Marker/RNCNaverMapMarker.mm

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,18 @@ - (void)dealloc {
6666
}
6767
}
6868

69+
- (void)ensureTouchHandler {
70+
if (!_inner.touchHandler) {
71+
_inner.touchHandler = [self](NMFOverlay* overlay) -> BOOL {
72+
if (self.emitter) {
73+
self.emitter->onTapOverlay({});
74+
return YES;
75+
}
76+
return NO;
77+
};
78+
}
79+
}
80+
6981
- (void)setImage:(facebook::react::RNCNaverMapMarkerImageStruct)image {
7082
_image = image;
7183
// If subview exists for custom marker, then skip image
@@ -85,6 +97,7 @@ - (void)setImage:(facebook::react::RNCNaverMapMarkerImageStruct)image {
8597
self.inner.alpha = 1;
8698
self.inner.iconImage = image;
8799
self->_imageCanceller = nil;
100+
[self ensureTouchHandler]; // 터치 핸들러 재확인
88101
});
89102
});
90103
}
@@ -111,6 +124,7 @@ - (void)insertReactSubview:(UIView*)subview atIndex:(NSInteger)atIndex {
111124
dispatch_async(dispatch_get_main_queue(), [self, subview]() {
112125
self.inner.alpha = 1;
113126
self.inner.iconImage = [NMFOverlayImage overlayImageWithImage:[self captureView:subview]];
127+
[self ensureTouchHandler]; // 터치 핸들러 재확인
114128
});
115129
}
116130

@@ -210,6 +224,9 @@ - (void)updateProps:(Props::Shared const&)props oldProps:(Props::Shared const&)o
210224
}
211225

212226
[super updateProps:props oldProps:oldProps];
227+
228+
// 마커가 업데이트된 후 터치 핸들러 확인
229+
[self ensureTouchHandler];
213230
}
214231

215232
Class<RCTComponentViewProtocol> RNCNaverMapMarkerCls(void) {

0 commit comments

Comments
 (0)