Map marker info window without small triangle at bottom

后端 未结 1 950
-上瘾入骨i
-上瘾入骨i 2020-12-21 21:28

I need to show an Infowindow of a Google map marker without the small triangle at the bottom. Please check the image which I have attached.

相关标签:
1条回答
  • 2020-12-21 21:59

    In order to use the speechbubble, use the getInfoContents() override.

    In order to not use the speechbubble, use getInfoWindow() override.

    Example 1:

    public class MyCustomInfoWindowAdapter implements GoogleMap.InfoWindowAdapter {
    
        private final View myContentsView;
    
        MyCustomInfoWindowAdapter() {
            myContentsView = getLayoutInflater().inflate(
                    R.layout.info_window, null);
        }
    
        @Override
        public View getInfoWindow(Marker marker) {
            return null;
        }
    
        @Override
        public View getInfoContents(Marker marker) {
    
            TextView tvTitle = ((TextView) myContentsView
                    .findViewById(R.id.txtTitle));
            TextView tvSnippet = ((TextView) myContentsView
                    .findViewById(R.id.txtSnippet));
    
            tvTitle.setText(marker.getTitle());
            tvSnippet.setText(marker.getSnippet());
    
            return myContentsView;
        }
    }
    

    Result:

    using speechbubble

    Example 2:

    public class MyCustomInfoWindowAdapter implements GoogleMap.InfoWindowAdapter {
    
        private final View myContentsView;
    
        MyCustomInfoWindowAdapter() {
            myContentsView = getLayoutInflater().inflate(
                    R.layout.info_window, null);
        }
    
        @Override
        public View getInfoWindow(Marker marker) {
            TextView tvTitle = ((TextView) myContentsView
                    .findViewById(R.id.txtTitle));
            TextView tvSnippet = ((TextView) myContentsView
                    .findViewById(R.id.txtSnippet));
    
            tvTitle.setText(marker.getTitle());
            tvSnippet.setText(marker.getSnippet());
    
            return myContentsView;
        }
    
        @Override
        public View getInfoContents(Marker marker) {
    
           return null;
        }
    }
    

    Result:

    No Speechbubble

    Note, here is the info_window.xml layout file used:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="20dp"
        android:orientation="vertical"
        android:background="#000000">
    
        <TextView
            android:id="@+id/txtTitle"
            android:textColor="#D3649F"
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
        <TextView
            android:id="@+id/txtSnippet"
            android:textColor="#D3649F"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
    </LinearLayout>
    
    0 讨论(0)
提交回复
热议问题