在Android平台的Google地图上始终显示标记标签和默认图钉图标

时间:2018-11-01 15:30:24

标签: android google-maps

我需要在地图上显示多个位置。 我希望每个标记的信息/标签都与图钉图标一起显示在地图上,无论用户是否单击了标记/图钉。 我有以下代码来显示标记。

for (DepartmentLocation loc : departmentLocations) {
                if (loc != null && loc.getLatitude() != null && loc.getLongitude() != null) {
                    LatLng latLng = new LatLng(loc.getLatitude(), loc.getLongitude());

                    googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
                    googleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));

                    MarkerOptions markerOptions = new MarkerOptions().position(latLng).title(loc.getName());
                    markerOptions.visible(true);
                    Marker marker = googleMap.addMarker(markerOptions);
                    marker.showInfoWindow();
                    marker.setVisible(true);
                    markers.add(marker);

                }
            }

但是,我仍然只看到红色的针脚,而针脚旁边没有标签。 这是我的地图的样子。我只能看到一个信息标签,而看不到其他信息标签。 enter image description here

我已经尝试过使用地图工具中的IconGenerator。

实现'com.google.maps.android:android-maps-utils:0.5'

  for (DepartmentLocation loc : departmentLocations) {
                if (loc != null && loc.getLatitude() != null && loc.getLongitude() != null) {
                    LatLng latLng = new LatLng(loc.getLatitude(), loc.getLongitude());

                    googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
                    googleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));

                    MarkerOptions markerOptions = new MarkerOptions()
                            .icon(BitmapDescriptorFactory.fromBitmap(iconFactory.makeIcon(loc.getName())))
                            .position(latLng)
                            .title(loc.getName());
                    markerOptions.visible(true);
                    Marker marker = googleMap.addMarker(markerOptions);
                    marker.showInfoWindow();
                    marker.setVisible(true);
                    markers.add(marker);

                }
            }

使用iconfactory时,无法同时显示图钉和信息标签。 enter image description here

2 个答案:

答案 0 :(得分:1)

在文档中,有一条文字说信息窗口一次显示一次,所以没有办法做到这一点:

  

“信息窗口可让您在用户显示信息时   点击一个标记。 一次只显示一个信息窗口 。如果一个   用户点击标记,当前信息窗口将关闭,   将显示新的信息窗口。请注意,如果用户单击   当前正在显示信息窗口的标记,该信息窗口   关闭并重新打开。”

您可以在此处了解更多信息:https://developers.google.com/maps/documentation/android-sdk/infowindows

答案 1 :(得分:1)

在GoogleMap上一次只显示一个InfoWindow。您一次不能显示多个InfoWindow。

您必须为此使用IconGenerator。您可以将视图设置为IconGenerator并创建该视图的位图。您可以创建一个既包含标记又包含您的InfoWindow视图的视图。使用该视图创建您所需的标记。

您可以选中此answer