Xamarin.forms 如何设置某些图标而不是默认引脚?

Xamarin.forms 如何设置某些图标而不是默认引脚?,xamarin.forms,rendering,xamarin.forms.maps,Xamarin.forms,Rendering,Xamarin.forms.maps,我正在尝试使用某些图标而不是默认的Xamarin.Forms在地图上的PIN。 所以我创建了CustomisePin类来继承Pin using Xamarin.Forms.Maps; namespace agroNet.Tools { public class CustomPin : Pin { public string PinIcon { get; set; } } } 以下是我在ViewModel中尝试的内容 private Map _map;

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

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;
        }
我在谷歌上找到了一些例子,比如:

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

为pin设置特定图标的简单方法是什么?是否可以只使用图标的某个路径渲染它,而不渲染贴图(因为我看到许多人为自定义pin创建costumise贴图)


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

Xamarin的官方样本和文档已经过时。我修改了官方定制Pin示例,以便在iOS和Android中使用定制Pin。该项目位于


一个关于官方样本的问题被报道了

Xamarin的官方样本和文件已经过时。我修改了官方定制Pin示例,以便在iOS和Android中使用定制Pin。该项目位于


一个关于官方样本的问题被报道了

可以使用“自定义”显示自定义接点Renderers@HobbyDev你没说吗如果您想使用自定义渲染器,我将查找并发布我的一个项目中的代码。@NitrusBrio我试图根据您的要求创建一个示例项目。在页面加载期间,当引脚数据可用时,我能够显示自定义引脚。只需将数据分配给页面构造函数处的管脚。但是,如果管脚数据绑定到视图模型,则自定义管脚将保持为空。请参阅Github上的问题。如果pins所需的数据在map load上随时可用,那么您可以使用github发布的项目。询问我是否需要任何帮助。@NitrusBrio Hi,在开发人员的指导下,我能够创建使用自定义PIN的示例项目。查看自定义管脚可以使用自定义Renderers@HobbyDev你没说吗如果您想使用自定义渲染器,我将查找并发布我的一个项目中的代码。@NitrusBrio我试图根据您的要求创建一个示例项目。在页面加载期间,当引脚数据可用时,我能够显示自定义引脚。只需将数据分配给页面构造函数处的管脚。但是,如果管脚数据绑定到视图模型,则自定义管脚将保持为空。请参阅Github上的问题。如果pins所需的数据在map load上随时可用,那么您可以使用github发布的项目。询问我是否需要任何帮助。@NitrusBrio Hi,在开发人员的指导下,我能够创建使用自定义PIN的示例项目。看一看
public partial class IrrigNetPage : ContentPage
    {

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