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

前端之家收集整理的这篇文章主要介绍了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相关文章