4

我已经在谷歌搜索但我无法得到它。我需要这种类型的值在标记中

在此处输入图像描述

我不知道该怎么做,就像上面显示的那样。

GoogleMap gm;

    gm = ((SupportMapFragment) (getSupportFragmentManager()
                .findFragmentById(R.id.map))).getMap();

    gm.setOnInfoWindowClickListener(this);
    gm.addMarker(new MarkerOptions()
                            .title(jsonObj.getString("project_name"));

   @Override
   public void onInfoWindowClick(final Marker marker) {

   String name = marker.getTitle(); // this displays when marker window gets tap

}

但是上面的代码只在我点击标记窗口时显示。我只想像上面的 iamge 链接那样显示。如何做到这一点。请帮助解决问题。

提前致谢。

4

3 回答 3

7

使用 android map utils 库

这是该网站的链接并浏览发布的视频。

http://googlemaps.github.io/android-maps-utils/

1.从

github.com/googlemaps/android-maps-utils

2.要使用检查这个链接

将 android-maps-utils 与 ADT 一起使用

  IconGenerator tc = new IconGenerator(this);
  Bitmap bmp = tc.makeIcon("hello"); // pass the text you want.

然后将位图设置为地图对象

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

折断

在此处输入图像描述

于 2013-10-08T08:47:57.120 回答
3

对于标记图标的完整免费绘图,代码可能如下所示。在这种情况下,只有文本是标记的内容。但是你可以在画布上画任何东西。只要确保调整大小。

public BitmapDescriptor getTextMarker(String text) {

    Paint paint = new Paint();
    /* Set text size, color etc. as needed */
    paint.setTextSize(24);

    int width = (int)paint.measureText(text);
    int height = (int)paint.getTextSize();

    paint.setTextAlign(Align.CENTER);
    // Create a transparent bitmap as big as you need
    Bitmap image = Bitmap.createBitmap(width, height, Config.ARGB_8888);
    Canvas canvas = new Canvas(image);
    // During development the following helps to see the full
    // drawing area:
    canvas.drawColor(0x50A0A0A0);
    // Start drawing into the canvas
    canvas.translate(width / 2f, height);
    canvas.drawText(text, 0, 0, paint);
    BitmapDescriptor icon = BitmapDescriptorFactory.fromBitmap(image);
    return icon;
}

然后在构建标记选项时使用此方法:

mMap.addMarker(new MarkerOptions()
.position(new LatLng(lati, longi))
.icon(getTextMarker("some text"));
于 2013-10-09T10:36:16.840 回答
2

根据Google Maps for Android V2的文档:

信息窗口允许您在用户点击地图上的标记时向他们显示信息。默认情况下,如果标记设置了标题,则当用户点击标记时会显示信息窗口。一次只显示一个信息窗口。如果用户点击另一个标记,当前窗口将被隐藏并显示新的信息窗口。您可以通过在目标标记上调用showInfoWindow()以编程方式显示信息窗口 。通过调用hideInfoWindow()可以隐藏信息窗口。

您可以像这样显示信息窗口:

Marker marker = myMap.addMarker(new MarkerOptions()
                     .position(latLng)
                     .title("Title")
                     .snippet("Snippet")
                     .icon(BitmapDescriptorFactory
                     .fromResource(R.drawable.marker)));

marker.showInfoWindow();

我希望它对你有用。

于 2013-10-08T08:54:51.177 回答