【问题标题】:Different markers show same infowindow content android google map v2不同的标记显示相同的信息窗口内容 android google map v2
【发布时间】:2023-03-21 06:32:01
【问题描述】:

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

我可以在我的地图中看到不同的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()

我通过调用它们自己的实现来创建两个具有不同信息的标记并将其显示在地图中。

唯一的问题是它们都显示相同的信息,即最后一个标记的信息。

【问题讨论】:

    标签: android google-maps-android-api-2 marker


    【解决方案1】:

    Setter(而GoogleMap.setInfoWindowAdapter 似乎是一个setter)替换了之前的内容。

    如果您在两个类中都调用onTap,则只有最后一个InfoWindowAdapter 存在。

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

    【讨论】:

    • 感谢您的信息。我相应地改变了我的解决方案。
    • 我试图在 public boolean onMarkerClick(final Marker marker){} 中调用“googleMap.setInfoWindowAdapter(new InfoWindowAdapter() {”但它没有显示信息窗口。这意味着在地图显示之前构建信息窗口? 地图加载后我们不能设置信息窗口的值吗?
    • 我回答我自己的问题。是的,我们可以即时设置新信息。当我有更新数据时,我只是再次使用新数据调用 infoWindowAdapter(new InfoWindowAdapter()... 方法。
    猜你喜欢
    • 2017-03-15
    • 2012-08-28
    • 2013-05-16
    • 2017-11-21
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    相关资源
    最近更新 更多