将循环中的setOnInfoWindowClickListener应用于地图上的每个标记android

时间:2016-09-07 04:54:28

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

我在地图上有多个标记,并从服务器获取所有数据。当我在地图上放置标记时,我还附加了OnInfoWindowClickListener,但每次单击信息窗口时,它都会在单击每个信息窗口时给出相同的结果。

for(int l =0;l<userDataArrayList.size();l++){
                         MarkerOptions opt = new MarkerOptions().position(new LatLng(Double.parseDouble(userDataArrayList.get(l).getLat()), Double.parseDouble(userDataArrayList.get(l).getLng()))).title(pokename[userDataArrayList.get(l).getCharacterId()-1]).snippet("Click Here").icon(BitmapDescriptorFactory.fromResource(pokeImgID[userDataArrayList.get(l).getCharacterId() - 1]));

                            Marker m = mMap.addMarker(opt);


                            final int a = l;
                            mMap.setOnInfoWindowClickListener(new AmazonMap.OnInfoWindowClickListener() {
                                        @Override
                                        public void onInfoWindowClick(Marker marker) {
                                                final Dialog Dialog = new Dialog(MainActivity.this);
                                                System.out.println(a);
                                                Dialog.setContentView(R.layout.seen_detail);
                                                Dialog.show();
                                                ImageView IMage = (ImageView) Dialog.findViewById(R.id.Img);
                                                IMage.setImageResource(ImgID[userDataArrayList.get(a).getCharacterId()]);
                                        }
                                });

                    }

我的问题是如何根据标记数据得到结果的。每个标记的数据不一样 任何帮助表示赞赏。

0 个答案:

没有答案