diff --git a/library/src/main/java/com/google/maps/android/data/Renderer.java b/library/src/main/java/com/google/maps/android/data/Renderer.java
index 1f59fc257..31a846df5 100644
--- a/library/src/main/java/com/google/maps/android/data/Renderer.java
+++ b/library/src/main/java/com/google/maps/android/data/Renderer.java
@@ -1145,23 +1145,33 @@ private void setMarkerInfoWindow(KmlStyle style, Marker marker,
/**
* Creates a new InfoWindowAdapter and sets text if marker snippet or title is set. This allows
- * the info window to have custom HTML.
+ * the info window to have custom HTML. If the marker has no title, the InfoWindow is deactivated.
*/
private void createInfoWindow() {
mMarkers.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
- public View getInfoWindow(@NonNull Marker arg0) {
+ public View getInfoWindow(@NonNull Marker marker) {
return null;
}
- public View getInfoContents(@NonNull Marker arg0) {
+ @Override
+ public View getInfoContents(@NonNull Marker marker) {
+ String title = marker.getTitle();
+ if (title == null) {
+ return null;
+ }
+
View view = LayoutInflater.from(mContext).inflate(R.layout.amu_info_window, null);
TextView infoWindowText = view.findViewById(R.id.window);
- if (arg0.getSnippet() != null) {
- infoWindowText.setText(Html.fromHtml(arg0.getTitle() + "
" + arg0.getSnippet()));
- } else {
- infoWindowText.setText(Html.fromHtml(arg0.getTitle()));
+
+ StringBuilder infoText = new StringBuilder(title);
+
+ String snippet = marker.getSnippet();
+ if (snippet != null) {
+ infoText.append("
").append(snippet);
}
+ infoWindowText.setText(Html.fromHtml(infoText.toString()));
+
return view;
}
});