본문 바로가기
IT기술(코딩)

안드로이드 스튜디오 네이버 맵 다중 마커(마커 여러개)JAVA버전

by 크리에이트매이커 2021. 7. 19.
반응형

안드로이드 스튜디오와 네이버 멥 API연동이 완료 되었다는 가정하에 바로 코드 쏘겠습니다.

네이버 맵 마커표시는 비동기 식으로 작동 되는거 같아요. 확실하지 않는데, 핸들러 안쓰면 오류나더라구요.

List<Marker> markers = new ArrayList<>(); //리스트로 깔끔하게 Marker를 자식으로 품을 수 있게 선언합니다.

for(int i ; i < 100; i++){
	Marker marker = new Marker();
	marker.setPosition(new LatLng(위도, 경도));
	marker.setIcon(아이콘 이미지 경로);
	marker.setCaptionText("마커 이름");
	marker.setWidth(75); //마커 크기
	marker.setHeight(75); //마커 크기
	marker.setFlat(true);
	markers.add(marker);
}

//이러면 100개의 마커가 List 인 markers에 담긴다.

//여기서 중요한점 .. 마커는 하나하나 비동기식인거 같은 느낌이 있다. 그래서 간단 핸들러를 사용해준다.
Handler handler = new Handler(Looper.getMainLooper());
 handler.post(() -> {
  // 메인 스레드
  for (Marker marker1 : markers) {
  		marker1.setMap(naverMap);
  		Log.d(TAG,"ㅇㅇ마커몇번");
   		}
   });  // 본인 입맛에 따라 {} 안 for문을 바꾸면서 쓰면 된다.

 

코드 어느정도 할줄 알면 이해 되게 쉽게 만들었습니다.

네이버 맵 마커를 표시하기 위해

이걸 어디에 넣냐하면 oncreate 함수 안에 넣으면 됩니다. 안드로이드 스튜디오 관점에서 썻지만, java를 쓰는 곳이면 어디든 사용 가능하겠죠?

물론 밖에 함수 따로 만들어서 써도 되구요

물론 class로 따로 빼서 만들어도 되는데,,  그럴꺼면  네이버 맵 연동 자체를 클레스 화 시키는게 좋을거 같아요

 

오늘도 개발자 화이팅

 

 

반응형