如何设置某些图标而不是默认图钉?

How to set certain icon instead of default pins?

我正在尝试使用某些图标而不是地图上的默认 Xamarin.Forms 图钉。 所以我创建了继承 Pin 的 CustomisePin class。

using Xamarin.Forms.Maps;
namespace agroNet.Tools
{
    public class CustomPin : Pin
    {
        public string PinIcon { get; set; }
    }
}

这是我在 ViewModel 中尝试的方法

private Map _map;

        public IrrigNetViewModel(Map map)
        {
            dialog = UserDialogs.Instance.Loading(AppResource.LocalizationResource.Loading);        
            TabTappedCommand = new Command((tabName) => OnTapClicked(tabName.ToString()));
            HideListOnTapCommand = new Command(HideListOnTap);
            _map = map;
            GetData();
        }

这是在位置上设置图钉的方法。

public void LoadMapTab()
        {

            //var irrigNetPins = new List<CustomPin>();

            foreach (var item in IrrigNetCollection)
            {
                //var pins = new CustomPin
                //{
                //    Label = item.StationName,
                //    Position = new Position(item.StationLatitude, item.StationLongitude),
                //    PinIcon = "satellite.png"
                //};

                _map.Pins.Add(new CustomPin
                {
                    Label = item.StationName,
                    Position = new Position(item.StationLatitude, item.StationLongitude),
                    //PinIcon = P
                });
                _map.MoveToRegion(
                    MapSpan.FromCenterAndRadius(new Position(item.StationLatitude, item.StationLongitude),
                    Distance.FromKilometers(30)));

                //irrigNetPins.Add(pins);
            }

            //return irrigNetPins;
        }

在 LoadMapTab 中的注释行下是我尝试设置图钉图标的内容。

这里是视图的一部分,如果它因为绑定上下文很重要的话。

public partial class IrrigNetPage : ContentPage
    {

        public IrrigNetPage()
        {
            InitializeComponent();
            BindingContext = new IrrigNetViewModel(MainMap);
        }
    }

我在 Google 上找到了一些示例,例如: https://github.com/raechten/BindableMapTest https://github.com/paulpatarinski/ShouldIWashMyCar

出于某种原因我无法 运行 他们,但我仍然尝试使用代码,无论我有什么 Pin 都是默认的,甚至不显示。

为 pin 设置特定图标的简单方法是什么?是否可以只用一些图标路径渲染它而不渲染地图(因为我看到很多人为自定义 pin 创建服装地图)。

此外,如果它对某些人很重要,我正在使用 MVVM 模式。

官方 Xamarin 示例和文档已过时。我修改了官方自定义 Pin 示例,以便在 iOS 和 Android 中使用自定义 Pin。该项目托管于 GitHub

关于 here 的官方示例报告了一个问题。