Xamarin формирует CustomPin ios RenderIOS

Программируем под IOS
Ответить
Anonymous
 Xamarin формирует CustomPin ios Render

Сообщение Anonymous »


невозможно отобразить все контакты из следующего списка в представлении. ПРИМЕЧАНИЕ. мой пример ниже не является частью документации по формам xamarin . это была моя идея, что, возможно, я мог бы объединить оба списка и отобразить их на карте одновременно.
[*]pin.id==1 (основной контакт)константа меняет свое положение, пытаясь добавить другое изображение или цвет [*]при загрузке карты я пытаюсь отобразить еще 9 булавок (дополнительные статические булавки), эти не перемещаются. снова я назначил другой цвет изображения. В результате один список перезаписывает другой. Поэтому я отображаю либо контакт 1, либо остальные 9 контактов. но я не могу одновременно вывести на экран 10 контактов.
Вот как создать первый статический список и одну булавку

публичный класс CustomMap: Карта { общественный List ExtraPins {get; набор; } общественный список CustomPins {get; набор; } общедоступная CustomMap() { CustomPins = новый список(); ДополнительныеPins = новый список(); } var customPin = новый CustomPin { ПинИд = 1, // Position = new Position(37.7749, -122.4194), // Устанавливаем положение вывода Метка = «Пользовательский пин», Адрес = «Пользовательский адрес», Rotation = -45 // Устанавливаем угол поворота в градусах }; Xamarin.Forms.Device.BeginInvokeOnMainThread(() => { customPin.Position = позиция; // контакты.Position = pos; если (myMap.Pins.Count == 0) { myMap.Pins.Add(customPin); }.... 2.набор статических булавок

foreach (варная координата в координатах) { var poss = новая позиция (координата. Широта, координата. Долгота); CustomPin дополнительныйPin = новый CustomPin { ПинИд = 20, Метка = «Дополнительный пин», Имя = координата.StopNumber // Добавляем дополнительные свойства по мере необходимости }; myMap.AdditionalPins.Add(дополнительный контакт); Теперь я получил оба списка: в одном есть 1 булавка, которая обновляет свое положение каждые 10 секунд, а в другом (дополнительные значки = 9 набор координат)

защищенное переопределение MKAnnotationView GetViewForAnnotation(MKMapView mapView, аннотация IMCAnnotation) { if (аннотация — MKUserLocation) вернуть ноль; результат вар = GetAllPins (аннотация как MKPointAnnotation); // ЗДЕСЬ -- получаем все элементы если (результат!= ноль) { Контакты List = результат; if (pins != null && pins.Any()) { foreach (var D в контактах) { если (annotationView == null) { annotationView = новый MKAnnotationView(аннотация, reuseIdentifier); if (D.PinId == 1) // он попадает сюда в первый раз { annotationView.Image = UIImage.FromFile("lilocation.png"); } else if (D.PinId == 20) //никогда не присваивайте эту часть представлению { annotationView.Image = UIImage.FromFile("red.png"); } } } } вернуть аннотациюView; } Цель — отобразить каждый элемент в списке с его изображением и поведением. ПРОБЛЕМА в том, что представление получает значение null только в первый раз.
Ответить

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

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

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

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

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