UWP MapControl.SetLocation противоречивое поведение - PullRequest
0 голосов
/ 11 июля 2019

У меня возникла некоторая проблема с 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 является геопунктом (основным геопунктом), как вы можете видеть на изображении ниже.

enter image description here

Черной пунктирной линией обозначены mapLineMilestoneHelper1 и 2, и они должны быть расположены на фиолетовом штыре (milestoneGeopoint). Вы также можете проверить, что значения на экране совпадают с отлаженными значениями.

Я пытаюсь найти хитрость, чтобы решить это, но я нахожу поведение SetLocation очень непоследовательным, потому что иногда оно работает, иногда нет, а иногда оно работает частично, помещая XAML рядом с местоположением, но не совсем на нем, пока карта панорамируется или наклоняется ...

...