Android中自定义Google地图标记InfoWindow上的自定义数据

时间:2013-04-09 15:20:38

标签: android google-maps google-maps-markers

我一直在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

1 个答案:

答案 0 :(得分:2)

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

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

您可以尝试Android Maps ExtensionssetData(Object)添加getData()Marker,这样您就可以将MyObjectMarker保持一致}。