13

我的目标是在 Android Google Maps API v2地图上使用多个带有文本的标记。信息窗口方法 (showInfoWindow()) 不适合,因为一次只显示一个信息窗口。例如,我想要这样的东西:在此处输入图像描述

如您所见,每个标记都有自己的数据(本例中的数字)一直显示。如何使用 Android Google Maps API v2实现这一目标?

4

5 回答 5

10

为此,您必须将每个标记的图标自定义为您所需要的。这是链接:https ://developers.google.com/maps/documentation/android/marker#customize_a_marker

然后你可以放一些PNG资源(一个蓝色,一个黄色和一个红色),并在运行时得到正确的Bitmap,通过代码将文本写在位图上,然后用fromBitmap (Bitmap image)方法设置为自定义标记。

于 2013-01-13T13:08:56.970 回答
6

试试这些链接最好使用它,它将有助于如何在 Android Google Maps API v2 上添加带有文本的多个标记

  1. 链接1
  2. 链接2
于 2013-01-13T13:13:35.743 回答
3

试试这个

LinearLayout tv = (LinearLayout) this.getLayoutInflater().inflate(R.layout.marker_dialog, null, false);

tv.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
        View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
tv.layout(0, 0, tv.getMeasuredWidth(), tv.getMeasuredHeight());

tv.setDrawingCacheEnabled(true);
tv.buildDrawingCache();
Bitmap bm = tv.getDrawingCache();

LatLng latLng = new LatLng(latitudemy, longitudemy);


BitmapDescriptor icon = BitmapDescriptorFactory.fromBitmap(bm);
BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher);
map.addMarker(new MarkerOptions().position(new LatLng(latitudemy, longitudemy)).title("origin").snippet("Srivastava").icon(icon));
// Showing the current location in Google Map
map.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title("destination").snippet("Srivastava").icon(icon));
于 2015-12-02T06:23:04.153 回答
2

您可能还想尝试开箱即用的集群解决方案:Android Maps Extensions

于 2013-03-20T11:27:25.070 回答
0

作为更新
android maps utils 现在有一个 Marker Clustering Utility
https://developers.google.com/maps/documentation/android/utility/marker-clustering

https://github.com/googlemaps/android-maps-utils

于 2015-07-01T14:36:18.937 回答