删除标记后,Google Maps无法添加标记

时间:2019-03-14 09:20:48

标签: c# xamarin xamarin.android google-maps-api-2

我使用Google地图创建了地图。我有一个位置列表,每个位置都有地理位置,可以帮助我创建标记。

我希望每次单击列表项时,删除地图上的当前标记并添加新标记。

这是我在地图上添加标记的方式:

 foreach (var postOffice in ViewModel.PostOfficeList)
 {
      var markerOptions = new MarkerOptions();
      markerOptions.SetPosition(new LatLng(postOffice.Location.Lat, postOffice.Location.Lng));
      markerOptions.SetTitle(postOffice.Name);
      markerOptions.SetIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.post_office_selected));
      if (postOffice.IsHighlighted)
      {
            markerOptions.SetAlpha(1);
      }
      else
      {
            markerOptions.SetAlpha(0.5f);
      }
      var marker = _mapView.AddMarker(markerOptions);
      _markerList.Add(marker);
 }

在我访问此代码之前,我会调用从列表中删除标记的函数:

private void RemoveMarkers()
{
    foreach (var marker in _markerList)
    {
        marker.Remove();
        marker.Dispose();
    }
    _markerList.Clear();
}

实际上发生的是,当我第一次访问地图时,所有标记都就位,但是当我尝试刷新标记时,所有标记都将从列表中删除,而不会重新添加。

我也尝试用_mapView.Clear()清除地图,但是什么也没发生。

0 个答案:

没有答案