一次在每个标记上显示信息窗口

Ram*_*dal 22 android google-maps marker

我想表现出类似的东西 这个

我可以在地图上显示所有标记,但是我想在填充所有标记时在每个标记上显示信息窗口.到目前为止我已经尝试了这个,但它显示了只有一个标记信息窗口的所有标记.

for (int i = 0; i < jobsDtoList.size(); i++) {
    Double latitude = Double.parseDouble(jobsDtoList.get(i).getSiteLatitude());
    Double longitude = Double.parseDouble(jobsDtoList.get(i).getSiteLongitude());

    LatLng latLng = new LatLng(latitude, longitude);
    MarkerOptions TP = new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromResource(R.mipmap.job_marker));
    googleMap.addMarker(TP).showInfoWindow();
}
Run Code Online (Sandbox Code Playgroud)

ant*_*nio 16

一次不能显示多个信息窗口.从文档:

信息窗口允许您在点击标记时向用户显示信息.一次只显示一个信息窗口.如果用户单击另一个标记,则将隐藏当前信息窗口并显示新的信息窗口.

您可能需要查看Google Maps Android API Utility Library中的气泡图标.气泡图标为标记添加了更强大的渲染选项,但不会改变它们的行为.这意味着您仍然无法一次显示多个信息窗口,但气泡图标将允许您显示每个标记的更多信息:

添加IconGenerator以显示标记信息的片段.此实用程序提供了一种使标记图标看起来有点像信息窗口的方法,因为标记本身可以包含文本和其他内容.优点是您可以同时打开多个标记,而一次只能打开一个信息窗口.您还可以设置标记的样式,更改标记和/或内容的方向,以及更改标记的背景图像/九个修补程序.

更新:使用气泡图标的示例(考虑到您需要按照此说明将Google Maps Android API实用程序库添加到项目中):

LatLng latLng = new LatLng(latitude, longitude);

TextView text = new TextView(context);
text.setText("Your text here");
IconGenerator generator = new IconGenerator(context);
generator.setBackground(context.getDrawable(R.drawable.bubble_mask));
generator.setContentView(text);
Bitmap icon = generator.makeIcon();

MarkerOptions tp = new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromBitmap(icon));
googleMap.addMarker(tp);
Run Code Online (Sandbox Code Playgroud)

  • 那么有没有办法添加自定义标记与文本字段显示除infowindow之外的所有标记上的所有标题? (3认同)