700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android高德地图marker图标 高德地图自定义Marker显示文字

android高德地图marker图标 高德地图自定义Marker显示文字

时间:2019-10-28 17:32:41

相关推荐

android高德地图marker图标 高德地图自定义Marker显示文字

方法一:

调用:

Marker localMarker=mAMap.addMarker(new MarkerOptions()

.position(localLatLng)

//.icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.map_location_icon))));

/*.icon(BitmapDescriptorFactory.

fromView(getMyView(pm.getPm()+""))));*/

.icon(BitmapDescriptorFactory.fromBitmap(getMyBitmap(pm.getPm()+""))));

localMarker.setObject(pm);

getMyBitmap方法:

protected Bitmap getMyBitmap(String pm_val) {

Bitmap bitmap = BitmapDescriptorFactory.fromResource(

R.drawable.map_location_icon).getBitmap();

bitmap = Bitmap.createBitmap(bitmap, 0 ,0, bitmap.getWidth(),

bitmap.getHeight());

Canvas canvas = new Canvas(bitmap);

TextPaint textPaint = new TextPaint();

textPaint.setAntiAlias(true);

textPaint.setTextSize(22f);

textPaint.setColor(getResources().getColor(R.color.blue));

canvas.drawText(pm_val, 17, 35 ,textPaint);// 设置bitmap上面的文字位置

return bitmap;

}

方法二:

布局文件:

mymarker.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

>

android:id="@+id/imageView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/map_location_icon"

android:scaleType="centerCrop"/>

android:id="@+id/marker_tv_val"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="10px"

android:layout_marginTop="7px"

android:textColor="@android:color/black"

/>

2调用:

Marker localMarker=mAMap.addMarker(new MarkerOptions()

.position(localLatLng)

//.icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.map_location_icon))));

/*.icon(BitmapDescriptorFactory.

fromView(getMyView(pm.getPm()+""))));*/

.icon(BitmapDescriptorFactory.fromBitmap(getMyBitmap(pm.getPm()+""))));

localMarker.setObject(pm);

3:getMyView方法

protected View getMyView(String pm_val) {

View view=getLayoutInflater().inflate(R.layout.mymarker, null);

TextView tv_val=(TextView) view.findViewById(R.id.marker_tv_val);

tv_val.setText(pm_val);

return view;

}

第一种方法比较简洁一点

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。