문제 상황
2026-05-20.5.21.17.mov
재현 방법
NClusterableMarker buildBikeMarker ({required MarkerDto markerDto}) {
final marker = NClusterableMarker (
id: markerDto.id,
position: NLatLng (markerDto.pos.lat, markerDto.pos.lng),
icon: bikeMarkerIconFor (markerDto),
caption: NOverlayCaption (text: markerDto.label),
);
marker.setSize (Size (markerDto.width, markerDto.height));
marker.setOnTapListener ((_) => onBikeTap (markerDto.id));
return marker;
}
void applyBikeMarkerSelection (Set <String > selectedBikeIds) {
for (final entry in _bikeMarkers.entries) {
final selected = selectedBikeIds.contains (entry.key);
entry.value
..setZIndex (selected ? 2 : 1 )
..setIcon (
selected
? _activeBikeMarkerIcon
: _markerFactory.bikeMarkerIconFor (_bikeMarkerDtos[entry.key]! ),
);
}
}
NClusterableMarker를 생성한 뒤에 setIcon으로 아이콘을 수정하고, 클러스터링 이후에 다시 줌인하면 객체 생성했을 당시 Icon으로 돌아갑니다.
임시 해결책
onCameraIdle 속성에 applyBikeMarkerSelection 함수 할당해서 카메라 이동후에 setIcon 다시 적용
환경
Flutter: 3.11.4
flutter_naver_map: 1.3.1
platform: IOS
Xcode: 26.2
문제 상황
2026-05-20.5.21.17.mov
재현 방법
NClusterableMarker를 생성한 뒤에 setIcon으로 아이콘을 수정하고, 클러스터링 이후에 다시 줌인하면 객체 생성했을 당시 Icon으로 돌아갑니다.
임시 해결책
onCameraIdle 속성에 applyBikeMarkerSelection 함수 할당해서 카메라 이동후에 setIcon 다시 적용
환경
Flutter: 3.11.4
flutter_naver_map: 1.3.1
platform: IOS
Xcode: 26.2