我一直在Stack Overflow上关注以下线程:

custom info window adapter with custom data in map v2

我已经看到了先前评论的答案,并且已经按照他们的意见进行了操作,但是我无法做到。

在onMarkerClick上,我可以获取与标记关联的元素:

HashMap<Marker, MyObject>


MyObject是包含要在标记InfoWindow上显示的数据的元素。

我无法做的是将数据放在屏幕上。它炸毁了应用程序。我该怎么做?

我在用着:

TextView markerTitle = (TextView) getActivity().findViewById(R.id.marker_place_name);
markerTitle.setText(MyObject.getName());


R.id.marker_place_name类似于提到的线程上windowlayout.xml上的示例tv_lat TextView

如何正确更改要显示在标记InfoWindow上的数据?

InfoAdapter getInfoContents()上,我无法检索MyObject

最佳答案

使用HashMap<Marker, MyObject>解决方法时,您需要能够在getInfoContents中对其进行检索。

如果要为InfoWindowAdapter做一个单独的类(而不是匿名类),则必须通过构造函数发送此映射。它不漂亮,所以还有另一种选择:

您可能想尝试将setData(Object)getData()添加到MarkerAndroid Maps Extensions,因此可以将MyObject保留为Marker

10-06 05:52