不同的标记显示相同的信息窗口的内容谷歌Android地图V2(Different markers s

2019-10-29 07:10发布

我有不同的Markers根据其不同的信息显示custom infowindow 。 为此,我必须使用不同类的每个信息窗口的内容。

我可以看到不同的Markers在我的地图。 但我点击他们,只有最后建成标记的信息显示。 基本上,信息窗口的内容是一样的。 此外,我注意到,当我点击,它不叫培训相关信息窗口,而不是它的最后调用创建信息窗口的getInfoContents(Marker arg0) 但我收到正确的标记里面getInfoContents(Marker arg0)到最后添加的标记。

我们只能有一个在地图上的所有标记信息窗口的实现? 而基于标记识别我应该执行不同的内容是什么?

标记A型实施

 public class MapGoogleOverlayV2 {

    private ViewGroup infoWindow;

    public boolean onTap() {


    infoWindow  = (ViewGroup)((Activity)mContext).getLayoutInflater().inflate(R.layout.info_window_layout, null);


    /*Custom info window implementation is below */
    googleMap.setInfoWindowAdapter(new InfoWindowAdapter() {

        @Override
        public View getInfoWindow(Marker arg0) {

            return null;
        }

        @Override
        public View getInfoContents(Marker arg0) {

            // set title
            ((TextView)infoWindow.findViewById(R.id.title)).setText("Test text");

            // set freeText
            ((TextView)infoWindow.findViewById(R.id.text)).setText(Long.toString("1"));


              return infoWindow;

        }
    });
   }
}

标记B与不同的信息另一个类实现的。 和我打电话onTap()

我通过调用自己的实现建立两个标志物与不同的信息,并显示在地图上。

唯一的问题是他们都表示这是最后一个标记的信息相同的信息。

Answer 1:

塞特斯(和GoogleMap.setInfoWindowAdapter似乎是一个setter)替换一下在那里了。

如果调用onTap这两类,只有最后InfoWindowAdapter生存。

相反,你需要设置只有一个InfoWindowAdapter ,并决定为其Marker ,你需要根据显示信息窗口getInfoContents参数( Marker arg0 )。



文章来源: Different markers show same infowindow content android google map v2