我正在尝试在必应地图的UWP版本中动画显示MapIcon的位置。我在为用作图标中心值的GeoPoint的Latitude组件( double值)指定PropertyPath时遇到问题:
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();注释掉的语句都不起作用;它们都会导致"Cannot resolve TargetProperty on specified object“错误。我对第一次尝试"(MapIcon.Location)(Geopoint.Position)(BasicGeoposition.Latitude)"特别有希望,但没有运气。
(我能够成功地为MapIcon的颜色属性设置动画。)
发布于 2019-02-06 13:55:07
Storyboard.SetTargetProperty的目标是应用动画的依赖属性。所以,你想要将动画应用于‘Latitude’是不可能的。
你就得自己做了。例如,使用DispatcherTimer。
https://stackoverflow.com/questions/54544933
复制相似问题