Sei*_*ige 6 c# xaml map windows-phone-8
我有一个带有2个图钉的地图,当我加载页面时,我正在设置后面代码中的一个图钉的位置.但是,当我尝试引用该引脚时,它为空.
XAML
<maps:Map x:Name="mapEventLocation" ZoomLevel="15" Grid.Row="1" Tap="mapEventLocation_Tap" >
<maptoolkit:MapExtensions.Children>
<maptoolkit:Pushpin x:Name="userLocationPin" Content="You" Visibility="Collapsed" />
<maptoolkit:Pushpin x:Name="eventLocationPin" Content="Event" Visibility="Collapsed" />
</maptoolkit:MapExtensions.Children>
</maps:Map>
Run Code Online (Sandbox Code Playgroud)
C#
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
if (this.NavigationContext.QueryString.ContainsKey("lat"))
{
userLocationPin.GeoCoordinate = new GeoCoordinate(double.Parse(this.NavigationContext.QueryString["lat"]), double.Parse(this.NavigationContext.QueryString["lon"]));
userLocationPin.Visibility = System.Windows.Visibility.Visible;
mapEventLocation.Center = new GeoCoordinate(double.Parse(this.NavigationContext.QueryString["lat"]), double.Parse(this.NavigationContext.QueryString["lon"]));
}
}
Run Code Online (Sandbox Code Playgroud)
Lat和Lon肯定在QueryString中.
在此之前,使用过
Pushpin pin = (Pushpin)this.FindName("userLocationPin");
Run Code Online (Sandbox Code Playgroud)
这适用于模拟器,但不适用于真正的手机.
我试图在一个层中手动制作图钉,但是针脚转到了拐角处
Pushpin userLocation = new Pushpin();
userLocation.GeoCoordinate = new GeoCoordinate(double.Parse(this.NavigationContext.QueryString["lat"]), double.Parse(this.NavigationContext.QueryString["lon"]));
userLocation.Content = "You";
MapLayer layer = new MapLayer();
MapOverlay overlay = new MapOverlay();
overlay.Content = userLocation;
layer.Add(overlay);
mapEventLocation.Layers.Add(layer);
Run Code Online (Sandbox Code Playgroud)
任何想法将不胜感激.谢谢
我不确定问题是什么,但可以尝试以下几件事:
OnApplyTemplate而不是Loaded(如果问题是如何加载/应用子模板的时间,这会有所帮助):public override void OnApplyTemplate()
{
Pushpin pin = (Pushpin)this.FindName("userLocationPin");
}
Run Code Online (Sandbox Code Playgroud)
public override void OnApplyTemplate()
{
PushPin pin = MapExtensions.GetChildren(mapEventLocation)
.FirstOrDefault() as Pushpin;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |