点击它后如何在标记上显示文字?

时间:2018-01-31 09:37:11

标签: android google-maps

我已使用标记选项

将文本添加到标记中
 TextView text = new TextView(context);
    text.setText(" "+assetName+" ");
    text.setTextColor(context.getResources().getColor(R.color.color_white));
    IconGenerator generator = new IconGenerator(context);
    generator.setColor(context.getResources().getColor(R.color.colorAccent));
    generator.setContentView(text);
    generator.setRotation(360);
    Bitmap icon = generator.makeIcon();

    MarkerOptions tp = new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromBitmap(icon));
    MapFragment.googleMap.addMarker(tp);

现在我想要文字" iqbal"当我点击它时,在标记上。

image

2 个答案:

答案 0 :(得分:2)

您无法从标记中获取文本,因为您的文本位于生成的位图中。但是,您可以在标记tag中保存文本和所需的任何内容:

 TextView text = new TextView(context);
    text.setText(" "+assetName+" ");
    text.setTextColor(context.getResources().getColor(R.color.color_white));
    IconGenerator generator = new IconGenerator(context);
    generator.setColor(context.getResources().getColor(R.color.colorAccent));
    generator.setContentView(text);
    generator.setRotation(360);
    Bitmap icon = generator.makeIcon();

    MarkerOptions tp = new MarkerOptions().position(latLng)
                             .icon(BitmapDescriptorFactory.fromBitmap(icon))
                             .tag(text);
    Marker marker = MapFragment.googleMap.addMarker(tp);

然后

String text = marker.getTag().toString()

答案 1 :(得分:1)

标记选项没有标记属性。因此,您必须将标记功能赋予标记

        TextView text = new TextView(context);
        text.setText("Some Text Here");
        text.setTypeface(Typeface.DEFAULT_BOLD);
        IconGenerator generator = new IconGenerator(context);
        generator.setBackground(context.getDrawable(R.color.cyan_800_overlay));
        generator.setContentView(text);
        generator.setStyle(IconGenerator.STYLE_BLUE);
        Bitmap icon = generator.makeIcon();
        MarkerOptions tp = new MarkerOptions()
                .position(latLng)
                .icon(BitmapDescriptorFactory.fromBitmap(icon));
        Marker marker = mMap.addMarker(tp);
        marker.setTag(Some Tag Here);