使用到的Glide依赖 com.github.bumptech.glide:glide:4.11.0
1、Marker的xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/item_map"
android:layout_width="@dimen/dp_38"
android:layout_height="@dimen/dp_38"
android:scaleType="fitXY" />
</LinearLayout>
2、Glide加载圆形图片方法(JAVA代码)
public static void loadListener(Context context, Object object, ImageView imageView, RequestListener<Bitmap> requestListener) {
Glide.with(context)
.asBitmap()
.load(object)
.transform(new CenterCrop(), new CircleCrop())
.addListener(requestListener)
.into(imageView);
}
3.地图上加载自定义的Marker
private fun setMarker(latitude: Double, longitude: Double) {
val view = LayoutInflater.from(this).inflate(
R.layout.item_map_marker,
null
)
val string =
"https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=2289611346,1405352200&fm=26&gp=0.jpg"
GlideUtils.loadListener(this, string, view.item_map, object : RequestListener<Bitmap> {
override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Bitmap>?, isFirstResource: Boolean): Boolean {
//图片加载错误执行
return false
}
override fun onResourceReady(resource: Bitmap?, model: Any?, target: Target<Bitmap>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
//图片加载成功执行
view.item_map.setImageBitmap(resource)
//绘制Marker的经纬度
val point = LatLng(latitude, longitude)
val bitmap = BitmapDescriptorFactory.fromView(view)
//创建Marker
val option = MarkerOptions()
.position(point)
.icon(bitmap)
mBaiduMap!!.addOverlay(option)
return false
}
})
}
&spm=1001.2101.3001.5002&articleId=117261262&d=1&t=3&u=ca1f75f67a264cd397e85ee026ed19b1)
1720

被折叠的 条评论
为什么被折叠?



