android – 在Maps API v2中区分不同的标记(唯一标识符)

我有一个自定义类的ArrayList.列表中大约有10个对象,每个对象都有Title,Snippet,LatLng等详细信息.我已经使用我的自定义函数(如getTitle,getSnippet,getLatLng等)将所有10个成功添加到Map中.

现在,当我单击信息窗口(标记)时,我希望能够以某种方式知道我的自定义类的哪个对象与该标记对应.

例如,如果我点击麦当劳市场,我希望能够知道我的ArrayList中哪个项目属于该标记.

我一直在看MarkerOptions,似乎没有什么可以用来识别相关的自定义对象.

如果问题太混乱,那么让我简单一点:

ArrayList<CustomObj> objects = blah
map.addMarker(new MarkerOptions().position(new LatLng(
                            Double.parseDouble(result.get(i).getCompanyLatLng()
                                    .split(",")[0]),Double.parseDouble(result
                                    .get(i).getCompanyLatLng().split(",")[1])))
                                    .title(result.get(i).getCompanyName())
                                    .snippet(result.get(i).getCompanyType())
                                    .icon(BitmapDescriptorFactory
                                            .fromresource(R.drawable.pin)));

现在,当点击它时,我继续下一页.下一页需要知道单击了WHICH对象,以便我可以将其他详细信息发送到该页面(例如,需要加载的图像URL等).

如何在标记添加唯一的整数或任何标识符?

解决方法

一种正确的方法是使用Map< Marker,CustomObj>它存储所有标记
Marker marker = map.addMarker(...);
map.put(marker,result.get(i));

并在onInfoWindowClick:

CustomObj obj = map.get(marker);

一个尝试是使用Android Maps Extensions,它将getData和setData方法添加到Marker,因此您可以在创建标记后分配CustomObj对象并在任何回调中检索它.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...