У меня возникла некоторая проблема с MapControl.SetLocation при размещении разных элементов управления XAML в разных географических точках на MapControl. В разных сборках W10 я делал некоторые трюки, чтобы работать так, как я хотел (и я ожидал), но в текущей сборке MapControl просто игнорирует, когда я пытаюсь поместить некоторый XAML во второй геопункт с SetLocation (он всегда включает другой геопункт).
Это код, который устанавливает XAML на карте:
MapControl.SetLocation(mapLineMilestoneHelper1, milestoneGeopoint);
MapControl.SetNormalizedAnchorPoint(mapLineMilestoneHelper1, new Point(0.0, 0.0));
MapControl.SetLocation(mapLineMilestoneHelper2, milestoneGeopoint);
MapControl.SetNormalizedAnchorPoint(mapLineMilestoneHelper2, new Point(0.0, 0.0));
Это отладочный код, который я получаю при тестировании каждого геопункта:
PurpleGeopoint: Lat: 43.0862409902679, Lng: -1.92157854110987
BlackGeopoint: Lat: 43.0856636160238, Lng: -1.91711650463057
PurpleGeopoint является milestoneGeopoint (вторичным), а BlackGeopoint является геопунктом (основным геопунктом), как вы можете видеть на изображении ниже.
Черной пунктирной линией обозначены mapLineMilestoneHelper1 и 2, и они должны быть расположены на фиолетовом штыре (milestoneGeopoint). Вы также можете проверить, что значения на экране совпадают с отлаженными значениями.
Я пытаюсь найти хитрость, чтобы решить это, но я нахожу поведение SetLocation очень непоследовательным, потому что иногда оно работает, иногда нет, а иногда оно работает частично, помещая XAML рядом с местоположением, но не совсем на нем, пока карта панорамируется или наклоняется ...