当前位置:  开发笔记 > 编程语言 > 正文

Osmdroid在标记内插入文本

如何解决《Osmdroid在标记内插入文本》经验,为你挑选了1个好方法。

我如何在Osmdroid标记内插入文本?假设我需要在地图上放置几个标记,每个标记应该在其中有数字.在此输入图像描述我怎么能做到的?我尝试#setTitle()方法,但是把文本放在气球中.

更新:

for(int i = 0; i < orders.size(); i++) {
    mOrderPoint = orders.get(i).getStart();
    final Order order = orders.get(i);
    Marker orderMarker = new Marker(mMap);
    orderMarker.setIcon(ContextCompat.getDrawable(mContext,R.drawable.order_pin));
    orderMarker.setPosition(mOrderPoint);
}

Blue_Alien.. 8

这个方法从你的资源中获取一个drawable,在它上面绘制一些文本并返回新的drawable.您需要做的就是为它提供泡泡的资源ID,以及您想要的文本.然后,您可以将返回的drawable传递到任何您想要的位置.

public BitmapDrawable writeOnDrawable(int drawableId, String text){

        Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId).copy(Bitmap.Config.ARGB_8888, true);

        Paint paint = new Paint(); 
        paint.setStyle(Style.FILL);  
        paint.setColor(Color.BLACK); 
        paint.setTextSize(20); 

        Canvas canvas = new Canvas(bm);
        canvas.drawText(text, 0, bm.getHeight()/2, paint);

        return new BitmapDrawable(bm);
    }

注意:

要保持密度,您需要此构造函数

BitmapDrawable (Resources res, Bitmap bitmap)

所以,保持你的背景,最后的回归应该是这样的

    return new BitmapDrawable(context.getResources(), bm);

这可以防止不需要的重新调整大小的可绘制.



1> Blue_Alien..:

这个方法从你的资源中获取一个drawable,在它上面绘制一些文本并返回新的drawable.您需要做的就是为它提供泡泡的资源ID,以及您想要的文本.然后,您可以将返回的drawable传递到任何您想要的位置.

public BitmapDrawable writeOnDrawable(int drawableId, String text){

        Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId).copy(Bitmap.Config.ARGB_8888, true);

        Paint paint = new Paint(); 
        paint.setStyle(Style.FILL);  
        paint.setColor(Color.BLACK); 
        paint.setTextSize(20); 

        Canvas canvas = new Canvas(bm);
        canvas.drawText(text, 0, bm.getHeight()/2, paint);

        return new BitmapDrawable(bm);
    }

注意:

要保持密度,您需要此构造函数

BitmapDrawable (Resources res, Bitmap bitmap)

所以,保持你的背景,最后的回归应该是这样的

    return new BitmapDrawable(context.getResources(), bm);

这可以防止不需要的重新调整大小的可绘制.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有