지도 마커 for문을 건너뜀

조회수 640회
  for (int i = 0; i < clublatitude.size(); i++) {
        Marker clubmarker1 = new Marker();
        clubmarker1.setPosition(new LatLng(Double.valueOf(clublatitude.get(i)),        Double.valueOf(clublongitude.get(i))));
        clubmarker1.setIconTintColor(orangemarker);
        clubmarker1.setTag(i);
        clubmarker1.setMap(naverMap);

        /**********                                  클럽 마커 클릭 리스너                                ***********/
        clubmarker1.setOnClickListener(new Overlay.OnClickListener() {

            @Override
            public boolean onClick(@NonNull Overlay overlay) {
                String tag = String.valueOf(overlay.getTag());

                Intent intent = new Intent(getApplicationContext(), ClubMemberListActiivty.class);
                intent.putExtra("clubname", clubname.get(Integer.valueOf(tag)));
                startActivityForResult(intent, 1);


                return false;

            }

        });
    }
        for (int i = 0; i < latitude.size(); i++) {
            Marker marker = new Marker();
            marker.setPosition(new LatLng(Double.valueOf(latitude.get(i)), Double.valueOf(longitude.get(i))));
            marker.setIconTintColor(bluemarker);
            marker.setTag(i);
            marker.setMap(naverMap);

            marker.setOnClickListener(new Overlay.OnClickListener() {

                @Override
                public boolean onClick(@NonNull Overlay overlay) {
                    String tag = String.valueOf(overlay.getTag());

                    Intent intent = new Intent(getApplicationContext(), PopupActivity.class);
                    intent.putExtra("name", name.get(Integer.valueOf(tag)));
                    intent.putExtra("number", phone_number.get(Integer.valueOf(tag)));
                    intent.putExtra("address", address.get(Integer.valueOf(tag)));
                    startActivityForResult(intent, 1);


                    return false;
                }

            });

지도에 두종류의 마커를 찍는 코드입니다. 그런데 아래의 marker는 잘 찍히는데 clubmarker는 안찍히는 상황이 발생합니다. 계속 안찍히는건 아니고 지도 화면을 켤때 어쩔때는 찍히고 어쩔때는 안찍힙니다..

  • 두번째 포문 주석처리하고 첫번째 마커만 찍었을 경우에도 안찍히나요? 디버깅을 통해서 좌표값이나 이런값이 제대로 들어가고 있는지 체크해 보면 알 수 있을 것 같습니다. 알 수 없는 사용자 2020.1.16 16:27

1 답변

  • Thread.sleep 이나 , task.get 을 사용해서 마커를 다 찍을 때까지 메인 쓰레드를 잠깐 멈춰서 해결함

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)