how to draw text in default marker of google map v2

前端 未结 2 1915
臣服心动
臣服心动 2021-01-02 11:29

I want to draw text in default marker of Google map v2. I have done this by taking my own image from drawable but how can i change it in default marker.

my code is

相关标签:
2条回答
  • 2021-01-02 11:48

    1.Downlaod the library from

    github.com/googlemaps/android-maps-utils

    2.To use check this link

    Using android-maps-utils with ADT

      TextIconGenerator tc = new TextIconGenerator(this);
      Bitmap bmp = tc.makeIcon("hello");
    

    Then set the bitmap to the map object

      .icon(BitmapDescriptorFactory.fromBitmap(bmp))); 
    

    snap shot

    enter image description here

    0 讨论(0)
  • 2021-01-02 12:04

    You can use this example to draw text in marker you have to set latlong:

    public Marker showTextOnMarker(final Context context, final GoogleMap map,
            final LatLng location, final String text, final int padding,
            final int fontSize) {
        Marker marker = null;
    
        if (context == null || map == null || location == null || text == null
                || fontSize <= 0) {
            return marker;
        }
    
        final TextView textView = new TextView(context);
        textView.setText(text);
        textView.setTextSize(fontSize);
    
        final Paint paintText = textView.getPaint();
    
        final Rect boundsText = new Rect();
        paintText.getTextBounds(text, 0, textView.length(), boundsText);
        paintText.setTextAlign(Align.CENTER);
    
        final Bitmap.Config conf = Bitmap.Config.ARGB_8888;
        final Bitmap bmpText = Bitmap.createBitmap(boundsText.width() + 2
                * padding, boundsText.height() + 2 * padding, conf);
    
        final Canvas canvasText = new Canvas(bmpText);
        paintText.setColor(Color.BLACK);
    
        canvasText.drawText(text, canvasText.getWidth() / 2,
                canvasText.getHeight() - padding - boundsText.bottom, paintText);
    
        final MarkerOptions markerOptions = new MarkerOptions()
                .position(location)
                .icon(BitmapDescriptorFactory.fromBitmap(bmpText))
                .anchor(0.5f, 1);
    
        marker = map.addMarker(markerOptions);
    
        return marker;
    }
    
    0 讨论(0)
提交回复
热议问题