Я пытаюсь использовать определенный значок вместо пинов Xamarin.Forms по умолчанию на карте.
Поэтому я создал класс 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;
}
В LoadMapTab под строками комментариев я пытался установить значок булавки.
А вот часть View, если она важна из-за Binding Context.
public partial class IrrigNetPage : ContentPage
{
public IrrigNetPage()
{
InitializeComponent();
BindingContext = new IrrigNetViewModel(MainMap);
}
}
Я нашел несколько примеров в Google, например:
https://github.com/raechten/BindableMapTest
https://github.com/paulpatarinski/ShouldIWashMyCar
По какой-то причине я не могу запустить их, но все же я пытался использовать код, и независимо от того, какой у меня Пин, по умолчанию, или даже не показывать.
Что представляет собой простой способ установить определенный значок для булавки и позволяет ли он рендерить его просто с некоторым путем к значку без рендеринга карты (поскольку я видел, как многие создавали карту стоимости для настраиваемых пинов).
Также, если для кого-то важно, я использую паттерн MVVM.