如何在谷歌地图v2标记android中添加值?

时间:2013-10-08 08:44:29

标签: android google-maps google-maps-markers google-maps-android-api-2 android-maps-v2

我在谷歌搜索但我无法得到它。我需要这种类型,其中值是标记

enter image description here

我无法理解如何像上面显示的那样做。

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链接。怎么做。请帮忙解决问题。

提前致谢。

3 个答案:

答案 0 :(得分:6)

使用android map utils库

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

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

1.Downlaod the library from

github.com/googlemaps/android-maps-utils

2.使用检查此链接

Using android-maps-utils with ADT

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

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

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

对齐

enter image description here

答案 1 :(得分: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"));

答案 2 :(得分: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();

我希望它对你有用。