googlemap标记的自定义信息窗口

问题描述 投票:0回答:1

我想自定义标记点击显示的infowindow,我为infowindow做一个布局并设置infowindowadaptor它工作正常我的布局(黑色圆角)在默认的infowindow布局中显示实际上信息窗口不改变其内容更改。

作为谷歌文档

public abstract查看getInfoWindow(标记标记)

GoogleMap.InfoWindowAdapter公共静态界面GoogleMap.InfoWindowAdapter提供自定义呈现信息窗口的视图。

自定义视图在标记的信息窗口中显示为内容,或为null以使用默认内容呈现。 public abstract查看getInfoWindow(标记标记)为标记提供自定义信息窗口。如果此方法返回视图,则它将用于整个信息窗口。如果在调用此方法后更改此视图,则这些更改不一定会反映在呈现的信息窗口中。如果此方法返回null,则将使用默认信息窗口框架,其内容由getInfoContents(Marker)提供。

   public View getview(){
    View v; // Creating an instance for View Object
    LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    v = inflater.inflate(R.layout.map_custom_infowindow, null);

    TextView pickordrop = v.findViewById(R.id.placetype);
    TextView placename = v.findViewById(R.id.placename);


    return v;
}


@Override
public View getInfoWindow(Marker marker) {

    return getview();
}

@Override
public View getInfoContents(Marker marker) {
    View view = ((Activity)context).getLayoutInflater()
            .inflate(R.layout.map_custom_infowindow, null);

    TextView pickordrop = view.findViewById(R.id.placetype);
    TextView placename = view.findViewById(R.id.placename);

    pickordrop.setText("Pickup");
    placename.setText(marker.getTitle());

    InfoWindowData infoWindowData = (InfoWindowData) marker.getTag();

    return view;
}
android google-maps-markers google-maps-android-api-2 infowindow
1个回答
0
投票

对不起我在正确阅读Docs之后得到了我的答案它说API将首先调用getInfoWindow(Marker),如果返回null,它将调用getInfoContents(Marker)。如果这也返回null,则将使用默认信息窗口。

而我的getInfoWindow只是返回一个空白视图,所以没有显示任何内容

© www.soinside.com 2019 - 2024. All rights reserved.