Android Google Maps V2 Marker Ids未在片段重新进入时更新

时间:2014-03-04 14:03:36

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

我有一个奇怪的问题,直到最近才出现这个问题。我有一个地图片段,它将标记添加到地图中,并将它们与'&lt;'标记ID的java地图集合相关联,它们与'&gt;'相关联,用于getInfoWindow调用。< / p>

这样可以正常工作,使用ids m0-m8将9个项目添加到地图中。然而,当我离开片段并重新输入时,标记将再次添加到地图中,并且具有唯一的数字,因此第二次围绕ID是m9-m17等。

问题是标记的onInfoClick保留了旧的ID。

 CustomInfoWindowAdapter() {
        mWindow = getActivity().getLayoutInflater().inflate(R.layout.custom_info_window, null);
    }
@Override
    public View getInfoWindow(final Marker marker) {
        //Here marker.getId() is usually always a value between m0-m8
        Business markerBusiness = mMarkersMap.get(marker.getId());

        //Render and do other things
        return mWindow();
}

如何强制addMarker()调用以忘记id之前或确保新标记与onInfoClick最终标记id匹配?为了使事情进一步复杂化,似乎这个问题只出现了我根本无法理解的某些标记!

如果需要更多代码,请告诉我,我不确定什么是必要的,每次重新创建地图片段时都会设置一个新的infoWindowAdapter:

mMap.setInfoWindowAdapter(new CustomInfoWindowAdapter());
//Add markers to the map

mMarkersMap.put(newMarker.getId(), business);

0 个答案:

没有答案