Как привязать расположение пина в MAUIC#

Место общения программистов C#
Ответить
Гость
 Как привязать расположение пина в MAUI

Сообщение Гость »


Мне нужно закрепить булавку в центре экрана и разрешить перемещение по карте.

Я добавил карту и значок:

map = новая карта { IsShowingUser = правда, ВысотаЗапрос = Высота устройства, ШиринаЗапрос = Ширина устройства, }; карта.PropertyChanged += OnMapPropertyChanged; маркерПин = новый Пин { Тип = ТипПин.Место, Метка = "Выбрать местоположение", Местоположение = МаркерЛокация, }; маркерPin.SetBinding(Pin.LocationProperty, новая привязка(nameof(MarkerLocation))); map.Pins.Add(markerPin); Добавлено свойство MarkerLocation

private LocationmarkerLocation; общедоступное местоположение MarkerLocation { получать { вернуть маркерLocation; } набор { маркерлокация = значение; OnPropertyChanged("Местоположение Маркера"); } } И если свойство карты изменилось, обновите значение MarkerLocation:

private void OnMapPropertyChanged(отправитель объекта, System.ComponentModel.PropertyChangedEventArgs e) { if (e.PropertyName == "VisibleRegion" || e.PropertyName == "VisibleRegion.Center") { вар центр = карта.VisibleRegion.Center; MarkerLocation = центр; } } Когда я открываю страницу, я получаю исключение: «Java.Lang.IllegalArgumentException: 'latlng не может быть нулевым — требуется позиция.'». Я отследил это и обнаружил, что после инициализации контакта SetBinding установил «нулевое значение» для местоположения контакта. Если я напишу SetBinding до инициализации вывода, я получу статический вывод, который не перемещается, даже если свойство MarkerLocation меняет свое значение.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»