为地图marker 设置网络图片
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                为地图marker 设置网络图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                使用自定義marker加載本地圖片:
Marker marker = aMap.addMarker(new MarkerOptions().anchor(0.5f,0.5f).position(latLng).snippet(dto.getRecipientName()).visible(true));.icon(BitmapDescriptorFactory.fromPath(userAvatar)));加載網絡圖片的話,需要給圖片設置url在正常顯示后,然后設置給marker; 
 也就需要監聽圖片的加載,在加載成功后給marker設置icon即可。 
 這里加載圖片使用的是glide。
實例代碼:
Glide.with(mContext).load(userAvatar)//等待狀態圖片.placeholder(R.drawable.pupu) //加載失敗圖片.error(R.drawable.pupu).into(new GlideDrawableImageViewTarget(imageView) {@Overridepublic void onResourceReady(GlideDrawable drawable, GlideAnimation anim) {super.onResourceReady(drawable, anim); //為marker設置已加載完成的圖片對象marker.setIcon(BitmapDescriptorFactory.fromBitmap(getViewBitmap(view)));}});getViewBitmap(view)是將view轉成bitmap對象。
view對象:
View view = LayoutInflater.from(mContext).inflate( R.layout.marker, null);R.layout.marker 很簡單
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="wrap_content"android:layout_height="wrap_content"> <imageview android:id="@+id/iv"android:layout_width="35dp"android:layout_height="35dp"android:background="@drawable/pupu"/> </linearlayout>接著再看getViewBitmap(view) 做了哪些工作?
/***把View轉換成Bitmap類型*@paramaddViewContent要轉換的View*@return*/public Bitmap getViewBitmap(View addViewContent) {addViewContent.setDrawingCacheEnabled(true);addViewContent.measure(View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED),View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED));addViewContent.layout(0,0,addViewContent.getMeasuredWidth(),addViewContent.getMeasuredHeight());addViewContent.buildDrawingCache();Bitmap cacheBitmap = addViewContent.getDrawingCache();Bitmap bitmap = Bitmap.createBitmap(cacheBitmap);return bitmap;}至此,功能代碼已完全展示。 
 想要加載圓形圖片? 
 方式一:自定義 
 方式二: 
 開源自定義控件 
 這里使用的是CircleImageView 
 https://github.com/hdodenhof/CircleImageView 
 使用很簡單: 
 1.在buildle.gradle中添加依賴:
2.布局文件中引用即可。
<de.hdodenhof.circleimageview.CircleImageViewxmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/iv"android:layout_width="35dp"android:layout_height="35dp"android:src="@drawable/pupu"app:civ_border_width="2dp"app:civ_border_color="#FF000000"/>總結
以上是生活随笔為你收集整理的为地图marker 设置网络图片的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: s3c6410 开发板Linux系统支持
- 下一篇: 四六级英语作文
