首页 > 解决方案 > 毕加索第一次没有在 Kotlin 的地图图标上加载图像

问题描述

我正在使用更新版本的毕加索库,

实施 'com.squareup.picasso:picasso:2.71828'

每个地方都可以正常工作,但在地图上,它第一次不会加载图像,这意味着如果我第二次打开这个屏幕,它会加载所有图像。

这是我的代码

这是我的标记图像集代码,

marker = mMap?.addMarker(
                startLocation?.let {
                    MarkerOptions().position(it).icon(
                        BitmapDescriptorFactory.fromBitmap(
                            city?.thumbnail_url?.let { it1 ->
                                createCustomMarker(
                                    context as DashBoardActivity,
                                    it1,
                                    city?.placeTitle
                                )
                            }
                        )
                    )
                }
            )

这是我的自定义标记图像集代码,

 fun createCustomMarker(imageUrl: String): Bitmap {

    val markerLayout: View = layoutInflater.inflate(R.layout.partial_custom_marker, null)
    val markerImage: CircleImageView = markerLayout.findViewById<View>(R.id.user_dp) as CircleImageView
    Picasso.get().load(imageUrl).into(markerImage)
    markerLayout.measure(
        View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
        View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
    )
    markerLayout.layout(0, 0, markerLayout.measuredWidth, markerLayout.measuredHeight)
    val bitmap = Bitmap.createBitmap(markerLayout.measuredWidth, markerLayout.measuredHeight, Bitmap.Config.ARGB_8888)
    val canvas = Canvas(bitmap)
    markerLayout.draw(canvas)
    return bitmap
}

标签: androidgoogle-mapskotlinimage-processingpicasso

解决方案


推荐阅读