如何在谷歌地图v2的标记旁边显示文本为Android

时间:2014-06-30 11:27:08

标签: java android google-maps

我正在尝试在Google地图片段中设置默认地图标记,并希望在其旁边显示一些文字,如下图所示。

我试过http://googlemaps.github.io/android-maps-utils/ 但是,它没有给我想要的影响。此外,当用户点击标记或旁边的文字时,我会弹出一个单独的信息窗。

Google map marker with text

Google map info window

任何人都可以指出任何材料或参考资料来实现上述目标。

2 个答案:

答案 0 :(得分:1)

如果您想要显示信息窗口而无需用户点击

如果Marker.showInfoWindow()设置为true,

Marker.visible将有效。

否则,有一个好的库here,其中包含示例here 这可能更接近您所寻找的目标。

Reference

答案 1 :(得分:0)

您可以使用信息窗口适配器来实现此目的,您也可以通过提供自己的自定义布局来自定义信息窗口

mMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
        // Use default InfoWindow frame
        @Override
        public View getInfoWindow(Marker arg0) {
            return null;
        }

        // Defines the contents of the InfoWindow
        @Override
        public View getInfoContents(Marker arg0) {

            // Getting view from the layout file info_window_layout
            View v =  getParent().getLayoutInflater().inflate(R.layout.windowlayout, null);

            // Getting the position from the marker
            LatLng latLng = arg0.getPosition();

            // Getting reference to the TextView to set latitude
             tvLat = (TextView) v.findViewById(R.id.tv_lat);

            // Setting the latitude
            tvLat.setText(duration);

            // Returning the view containing InfoWindow contents
            return v;
        }
    });

这是自定义窗口布局,您可以使用自己的

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
    android:id="@+id/tv_lat"
    android:layout_width="wrap_content"
    android:text="latitude"
    android:drawableRight="@drawable/ic_launcher"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"/>