赞
踩
需求说要地图上展示的是mark,不是infowindow,加载出网络图片,由于app的marker比较多,没有达到需要的效果。
看了看高德地图api中有这个方法
markerOption.icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.location_marker)));
fromBitmap里面的参数也可以是bitmap,于是可以自定义一个View把这个view转成bitmap。
这是做好所有工作以后,发现有的图片能显示出来,有的显示不出来。
由于加载图片的时候是异步的,有时候会在图片还没有加载完成的时候,view已经被转成bitmap,而这时Glide还在加载图片图,当glide加载工作完成时,要把图片展示在imageView上时,发现已经找不到这个imageView的id了,因此导致有些marker显示不出来图片。
于是我就添加了一个Glide图片加载完成的监听,在Glide图片加载完成之时再去把View转成bitmap,如下代码所示
- Glide.with(this).load(list.get(i).getGasLogoSmall()).
- placeholder(R.mipmap.gas_small_logo)
- .transform(new GlideCircleTransform(getActivity()))
- .error(R.mipmap.gas_small_logo)
- // .
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。