【发布时间】:2023-02-11 02:26:40
【问题描述】:
我从服务器获取图像 URL,我想在 Google 地图标记图标中加载该 URL。我怎样才能做到这一点?
【问题讨论】:
标签: android google-maps android-jetpack-compose marker
我从服务器获取图像 URL,我想在 Google 地图标记图标中加载该 URL。我怎样才能做到这一点?
【问题讨论】:
标签: android google-maps android-jetpack-compose marker
使用 Glide 库
fun loadIcon(
context: Context,
url: String?,
placeHolder: Int,
): BitmapDescriptor? {
try {
var bitmap: Bitmap? = null
Glide.with(context)
.asBitmap()
.load(url)
.error(placeHolder)
// to show a default icon in case of any errors
.into(object : CustomTarget<Bitmap>() {
override fun onResourceReady(
resource: Bitmap,
transition: Transition<in Bitmap>?
) {
bitmap = resource
}
override fun onLoadCleared(placeholder: Drawable?) {
}
})
return BitmapDescriptorFactory.fromBitmap(bitmap!!)
} catch (e: Exception) {
e.printStackTrace()
return null
}
}
然后打电话
var bitmap = loadIcon(context, item.icon, R.drawable.placeholder_image,)
Marker(
state = MarkerState(
position = LatLng(
item.lat.toDouble(),
item.long.toDouble()
)
),
title = item.name,
icon = bitmap,
)
【讨论】:
我写了一篇文章在谷歌地图上显示自定义标记:
https://towardsdev.com/jetpack-compose-custom-google-map-marker-erselan-khan-e6e04178a30b
您必须从您的图像 url 中获取可绘制对象,您可以通过使用 coil 库加载图像轻松获取该对象。
https://towardsdev.com/image-url-to-bitmap-using-coil-erselan-khan-6f190ce83d7f
【讨论】: