Указание PropertyPath для значения широты MapIcon в картах Bing UWP - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь анимировать местоположение MapIcon в UWP-версии Bing Maps.У меня проблемы с указанием PropertyPath для компонента Latitude (значение double) GeoPoint, используемого в качестве центрального значения для значка:

        MapIcon mapIcon1 = new MapIcon();
        mapIcon1.Location = myMap.Center;
        mapIcon1.NormalizedAnchorPoint = new Point(0.5, 1.0);
        mapIcon1.Title = "My Friend";
        mapIcon1.Image = mapIconStreamReference;
        mapIcon1.ZIndex = 0;
        myMap.MapElements.Add(mapIcon1);

        double centerLatitude = myMap.Center.Position.Latitude;
        double centerLongitude = myMap.Center.Position.Longitude;
        Storyboard storyboard = new Storyboard();
        DoubleAnimation animation = new DoubleAnimation();
        animation.From = centerLatitude;
        animation.To = centerLatitude + 100f;
        animation.Duration = new Duration(new TimeSpan(0, 0, 0, 5));
        animation.EnableDependentAnimation = true;
        storyboard.Children.Add(animation);
        //Storyboard.SetTargetProperty(animation, "(MapIcon.Location)(Geopoint.Position)(BasicGeoposition.Latitude)");
        //Storyboard.SetTargetProperty(animation, "(MapIcon.Location)(MapControl.Center)(Geopoint.Position)(BasicGeoposition.Latitude)");
        //Storyboard.SetTargetProperty(animation, "(MapIcon.Location)(BasicGeoposition.Latitude)");
        //Storyboard.SetTargetProperty(animation, "(MapIcon.Location.Latitude)");
        Storyboard.SetTarget(storyboard, mapIcon1);
        storyboard.Begin();

Ни один из закомментированныхпостановки работают;все они приводят к ошибке «Не удается разрешить TargetProperty для указанного объекта».Я особенно надеялся на первую попытку "(MapIcon.Location)(Geopoint.Position)(BasicGeoposition.Latitude)", но не повезло.

(я могу успешно анимировать атрибут Color MapIcon.)

1 Ответ

0 голосов
/ 06 февраля 2019

Storyboard.SetTargetProperty предназначено для свойства зависимости, к которому применяется анимация.Итак, то, что вы хотите применить анимацию к «Локатору», невозможно.

Вы должны сделать это самостоятельно.Например, используя DispatcherTimer.

...