I want to change my marker in google api. so I use "getBitmap" funtion with Picasso but this funtion return "Bitmap?"
.icon(BitmapDescriptorFactory.fromBitmap(getBitmap(user_URL[i]))) -> require "Bitmap" type
So, problem is :
- type mismatch error (require : Bitmap, Found : Bitmap?)
- java.lang.NullPointerException: image must not be null in same line
How can I solve this problem in kotlin?
code :
private fun getBitmap(url : String) : Bitmap? {
var bmp : Bitmap ?=null
Picasso.get().load(url).into(object : com.squareup.picasso.Target {
override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) {
bmp = bitmap
}
override fun onPrepareLoad(placeHolderDrawable: Drawable?) {}
override fun onBitmapFailed(e: Exception?, errorDrawable: Drawable?) {}
})
return bmp
}
private fun otherUserMaker(googleMap: GoogleMap) {
var latitude = mutableListOf<Double>()
var longitude = mutableListOf<Double>()
var user_URL = mutableListOf<String>()enter code here
user_URL = maprepo.returnImage()
latitude = maprepo.returnLatitude()
longitude = maprepo.returnLongitude()
for (i in 0 until latitude.size step (1)) {
val makerOptions = MarkerOptions()
makerOptions
.position(LatLng(latitude[i], longitude[i]))
.title("") .icon(BitmapDescriptorFactory.fromBitmap(getBitmap(user_URL[i])))
googleMap.addMarker(makerOptions)
}
}
imageURL type mustablearray[String] in firebase
and maprepo image funtion is
fun getImage(boardDTOId: MutableList<String>) {
for (i in boardDTOId) {
firestore.collection("Board").document(i).get().addOnSuccessListener {
if (it != null) {
photoUrl.add(it["profileUrl"] as String)
}
}
}
}
fun returnImage(): MutableList { return photoUrl }
============================================================================
- user_URL data set
for (i in 0 until latitude.size step (1)) { Log.e("user_Url", user_URL.toString()) Log.e("user_Url1", user_URL[i]) }
-> Log
021-09-26 03:12:36.810 20861-20861/com.example.myapplication E/user_Url: [https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_202119_.png?alt=media&token=2b35d88f-c748-4faf-bc5b-a809294a4d4f, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_202119_.png?alt=media&token=2b35d88f-c748-4faf-bc5b-a809294a4d4f, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_195916_.png?alt=media&token=1fbae93b-85d4-447d-a8f8-008110423616, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210922_200319_.png?alt=media&token=b0a27498-382e-4cee-b268-1a7ba89ad0e7]
2021-09-26 03:12:36.810 20861-20861/com.example.myapplication E/user_Url1: https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_202119_.png?alt=media&token=2b35d88f-c748-4faf-bc5b-a809294a4d4f
2021-09-26 03:12:36.819 20861-20861/com.example.myapplication E/user_Url: [https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_202119_.png?alt=media&token=2b35d88f-c748-4faf-bc5b-a809294a4d4f, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_202119_.png?alt=media&token=2b35d88f-c748-4faf-bc5b-a809294a4d4f, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_195916_.png?alt=media&token=1fbae93b-85d4-447d-a8f8-008110423616, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210922_200319_.png?alt=media&token=b0a27498-382e-4cee-b268-1a7ba89ad0e7]
2021-09-26 03:12:36.819 20861-20861/com.example.myapplication E/user_Url1: https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_202119_.png?alt=media&token=2b35d88f-c748-4faf-bc5b-a809294a4d4f
2021-09-26 03:12:36.832 20861-20861/com.example.myapplication E/user_Url: [https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_202119_.png?alt=media&token=2b35d88f-c748-4faf-bc5b-a809294a4d4f, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_202119_.png?alt=media&token=2b35d88f-c748-4faf-bc5b-a809294a4d4f, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_195916_.png?alt=media&token=1fbae93b-85d4-447d-a8f8-008110423616, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210922_200319_.png?alt=media&token=b0a27498-382e-4cee-b268-1a7ba89ad0e7]
2021-09-26 03:12:36.832 20861-20861/com.example.myapplication E/user_Url1: https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_195916_.png?alt=media&token=1fbae93b-85d4-447d-a8f8-008110423616
2021-09-26 03:12:36.843 20861-20861/com.example.myapplication E/user_Url: [https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_202119_.png?alt=media&token=2b35d88f-c748-4faf-bc5b-a809294a4d4f, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_202119_.png?alt=media&token=2b35d88f-c748-4faf-bc5b-a809294a4d4f, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210925_195916_.png?alt=media&token=1fbae93b-85d4-447d-a8f8-008110423616, https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210922_200319_.png?alt=media&token=b0a27498-382e-4cee-b268-1a7ba89ad0e7]
2021-09-26 03:12:36.843 20861-20861/com.example.myapplication E/user_Url1: https://firebasestorage.googleapis.com/v0/b/capston-e8850.appspot.com/o/Profiles%2FJPEG_20210922_200319_.png?alt=media&token=b0a27498-382e-4cee-b268-1a7ba89ad0e7