我正在测试InfoWindowAdapter
提供自定义内容View
。我尝试简单地返回new View(Context)
以及使用特定大小膨胀布局。尽管如此,显示的信息窗口被呈现(以看似相同的大小)一个巨大的显示,比默认的信息窗口大小大得多。我将在getInfoWindow(Marker)
中返回null
,我想要的内容View
在getInfoContents(Marker)
中。
我是这样解决的:
googleMap.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
// Inflate custom layout
View v = getLayoutInflater().inflate(R.layout.marker_view, null);
// Set desired height and width
v.setLayoutParams(new RelativeLayout.LayoutParams(500, RelativeLayout.LayoutParams.WRAP_CONTENT));
TextView id = (TextView) v.findViewById(R.id.marker_id);
TextView alt = (TextView) v.findViewById(R.id.marker_altitude);
TextView name = (TextView) v.findViewById(R.id.marker_name);
id.setText("Marker ID");
name.setText("Marker Name");
alt.setText("Marker Altitude");
return v;
}
});
}
祝你好运。