java – Android谷歌地图添加到标记自己的标签

我有这样的代码
protected void onPostExecute(final ArrayList<HashMap<String,String>> adapter) {

                for (final HashMap<String,String> a : adapter) {
                    LatLng pos = new LatLng(Double.valueOf(a.get(TAG_latitude)),Double.valueOf(a.get(TAG_longitude)));
                    Log.e("pppppos",String.valueOf(pos.latitude));
                    Marker m = map.addMarker(new MarkerOptions().position(pos)
                            .title(a.get(TAG_NAME))
                            .snippet("Kiel is cool"));

                    map.setonInfoWindowClickListener(
                              new OnInfoWindowClickListener(){
                                    public void onInfoWindowClick(Marker marker){
                                      Intent nextScreen = new Intent(SearchExchangerActivity.this,BankExchangersListActivity.class);
                                        nextScreen.putExtra("exchanger_id",id);    
                                        startActivityForResult(nextScreen,0);
                                    }
                                  });
                }

但是我需要为用户字段设置不可见,例如每个标记的Tag_id,然后在向其他活动发送额外的信息时使用此id,如下所示:

protected void onPostExecute(final ArrayList<HashMap<String,String>> adapter) {

            for (final HashMap<String,String> a : adapter) {
                LatLng pos = new LatLng(Double.valueOf(a.get(TAG_latitude)),Double.valueOf(a.get(TAG_longitude)));
                Marker m = map.addMarker(new MarkerOptions().position(pos)
                        .title(a.get(TAG_NAME))
                        .snippet("Kiel is cool")
                                                    .Tag_id(TAG_ID));

                map.setonInfoWindowClickListener(
                          new OnInfoWindowClickListener(){
                                public void onInfoWindowClick(Marker marker){
                                  Intent nextScreen = new Intent(SearchExchangerActivity.this,BankExchangersListActivity.class);
                                    nextScreen.putExtra("exchanger_id",marker.get(TAG_ID));    
                                    startActivityForResult(nextScreen,0);
                                }
                              });
            }

真的吗?我怎么能在我的听众中获得我点击的标记

也可以通过标题字段来完成…但是我在编写marker.getTitle()…时收到错误

UPD

for (final HashMap<String,Double.valueOf(a.get(TAG_longitude)));
                Log.e("pppppos",String.valueOf(pos.latitude));
                HashMap<Marker,String> m = new HashMap<Marker,String>();
                        m.put( map.addMarker(new MarkerOptions().position(pos)
                        .title(a.get(TAG_NAME))
                        .snippet("Kiel is cool")),"1");                    

            }

            map.setonInfoWindowClickListener(
              new OnInfoWindowClickListener(){
                    public void onInfoWindowClick(HashMap<Marker,String> marker){
                      Intent nextScreen = new Intent(SearchExchangerActivity.this,BankExchangersListActivity.class);
                        nextScreen.putExtra("exchanger_id","1");   
                        startActivityForResult(nextScreen,0);
                    }
                  });

解决方法

>您可以使用Map< Marker,String>并保留您的数据
>使用 Android Maps Extensions,它将getData和setData函数添加到Marker类.

顺便说一句.您不应该将InfoWindowAdapter设置为循环.这个不成立.只有最后的生存.

相关文章

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