FATAL EXCEPTION: main
Process: com.example.frompet, PID: 8049
java.lang.NullPointerException: IBitmapDescriptorFactory is not initialized
at com.google.android.gms.common.internal.Preconditions.checkNotNull(com.google.android.gms:play-services-basement@@18.1.0:2)
at com.google.android.gms.maps.model.BitmapDescriptorFactory.zzb(com.google.android.gms:play-services-maps@@18.1.0:1)
at com.google.android.gms.maps.model.BitmapDescriptorFactory.fromBitmap(com.google.android.gms:play-services-maps@@18.1.0:2)
at com.example.frompet.ui.map.NaverMapFragment$setMark$1.invoke(NaverMapFragment.kt:215)
at com.example.frompet.ui.map.NaverMapFragment$setMark$1.invoke(NaverMapFragment.kt:209)
at com.example.frompet.ui.map.NaverMapFragment.setMark$lambda$5(NaverMapFragment.kt:209)
at com.example.frompet.ui.map.NaverMapFragment.$r8$lambda$dITMXDu4JNk5eSKhcT-Q1fEnCNg(Unknown Source:0)
at com.example.frompet.ui.map.NaverMapFragment$$ExternalSyntheticLambda3.onSuccess(Unknown Source:2)
at com.google.android.gms.tasks.zzm.run(com.google.android.gms:play-services-tasks@@18.0.2:1)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8177)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
<지도 마커 - > Firebase storage 폴더 이미지로 설정>
1.
2. 바이트 배열 bytes를 비트맵으로 디코딩
private fun setMark(location: UserLocation) {
val marker = Marker()
val storageRef = FirebaseStorage.getInstance().reference
val imageRef = storageRef.child("images/IMAGE_20231016_214525.png") // 이미지 파일 경로
// 이미지 다운로드 하고 마커 아이콘 설정
imageRef.getBytes(ONE_MEGABYTE.toLong()).addOnSuccessListener { bytes ->
if (bytes != null) {
val imageBitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.size) // 다운 받은 바이트를 비트맵으로 변환
val image = BitmapDescriptorFactory.fromBitmap(imageBitmap)// 비트맵 이미지를 네이버 지도 마커 아이콘으로 설정
marker.icon = OverlayImage.fromBitmap(imageBitmap)
}
}
// 마커 위치
if (location != null) {
marker.position = LatLng(location.latitude, location.longitude)
}
// 마커 우선순위
marker.zIndex = 10
// 마커 표시
marker.map = naverMap
// 원근감 표시
// marker.iconPerspectiveEnabled = true
// 마커의 투명도
marker.alpha = 0.8f
}
-> 맵 실행하면 앱이 죽음

[이유]
확실한 이유는 모르겠으나. 일단
