Skip to content

NClusterableMarker 클러스터링 이후 Icon이 생성했을 때 Icon으로 돌아가는 이슈 #363

Description

@getsoss

문제 상황

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions