我可以在地图上显示所有标记,但是我想在填充所有标记时在每个标记上显示信息窗口。 到目前为止我已经尝试了这个,但它只显示了一个标记信息窗口的所有标记。
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();
}
答案 0 :(得分:14)
一次无法显示多个信息窗口。来自the documentation:
信息窗口允许您在用户显示信息时显示信息 点击标记。 一次只显示一个信息窗口。如果一个 用户点击另一个标记,将隐藏当前信息窗口 并将显示新的信息窗口。
您可能需要查看Google Maps Android API Utility Library中的气泡图标。 气泡图标为标记添加了更强大的渲染选项,但不会改变它们的行为。这意味着您仍然无法一次显示多个信息窗口,但气泡图标将允许您显示每个标记的更多信息:
添加IconGenerator以显示有关您的信息的摘要 标记。此实用程序提供了一种使标记图标看起来的方法 有点像信息窗口,因为标记本身可以包含文本 和其他内容。 优点是你可以保留多个 标记同时打开,而只能打开一个信息窗口 马上。您还可以设置标记的样式,更改标记的方向 标记和/或内容,并更改标记的背景 图像/九贴剂。
更新:使用气泡图标的示例(考虑到您需要在this instructions之后将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);