我正在使用谷歌地图Android API的Android应用程序。我在地图上显示多个标记,我想在每个标记旁边显示一个标签,如下图所示,但我无法了解如何做到这一点。
我已浏览https://developers.google.com/maps/documentation/android-api/map-with-marker处的Google地图文档 但是我无法找到有关如何以这种方式显示标签的详细信息。我已经尝试了打开弹出窗口的title属性,但我需要显示有关我的标记的详细视图(InfoWindow),我需要显示主要内容标题没有打开任何标记的弹出窗口
我知道如何以附加图像中显示的方式添加标记吗?
答案 0 :(得分:1)
不确定这是否是您的想法,但这里是
创建MarkerOptions
对象:
MarkerOptions options = new MarkerOptions()
.title(name)
.position(source)
.icon(gettIconFromDrawable(myMarker))
.snippet("Briefly describe \nyour content here");
然后将标记添加到地图
Marker sourceMarker = mMap.addMarker(options);
创建InfoWindowAdapter
以容纳代码段中的多行。 (此处answer原创)
mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker arg0) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
Context context = getApplicationContext(); //or getActivity(), YourActivity.this, etc.
LinearLayout info = new LinearLayout(context);
info.setOrientation(LinearLayout.VERTICAL);
TextView title = new TextView(context);
title.setTextColor(Color.BLACK);
title.setGravity(Gravity.CENTER);
title.setTypeface(null, Typeface.BOLD);
title.setText(marker.getTitle());
TextView snippet = new TextView(context);
snippet.setTextColor(Color.GRAY);
snippet.setText(marker.getSnippet());
info.addView(title);
info.addView(snippet);
return info;
}
});
最后,添加此属性以确保标记保持可见
sourceMarker.showInfoWindow();