首页 > 解决方案 > 删除标记后,谷歌地图无法添加标记

问题描述

我使用谷歌地图创建了一张地图。我有一个位置列表,每个位置都有帮助我创建标记的地理位置。

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

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

 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()但什么也没发生。

标签: c#xamarinxamarin.androidgoogle-maps-api-2

解决方案


推荐阅读