您好,我正在使用 google android maps v2 并向 map 添加了一堆标记,但是我需要向标记对象添加额外的数据,以便稍后在 onInfoWindowClick 函数中调用。
我目前有一个 MarkerManager 单例类,它维护并发的场所列表,但是在 onInfoWindowClick 函数中,我需要通过 MarkerManager 的某种形式的键来调用它。
看起来标记是静态最终的,不能扩展,所以我对如何做到这一点有点困惑。
谢谢,
安迪
最佳答案
您可以创建一个 HashMap:
Map<Marker, YourCustomObject> theMap;
然后添加标记作为键:
Marker m = mMap.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.whatever)).position(new LatLng(mLat, mLong)));
theMap.put(m, yourCustomObjectInstance);
最后,在您的信息窗口提供程序中,您可以通过提供给 getInfoWindow
函数的标记检索您的对象:
mMap.setInfoWindowAdapter(new InfoWindowAdapter() {
@Override
public View getInfoWindow(Marker marker) {
YourCustomObject yourCustomObjectInstance = theMap.get(marker);
}
关于Android 谷歌地图 onInfoWindowClick 唯一标识标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14732052/