Windows Phone必应地图崩溃 [英] windows phone bing maps crashing

查看:85
本文介绍了Windows Phone必应地图崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当您加载地图然后移动地图并立即放大时,我的应用程序在模拟器中崩溃.香港专业教育学院尝试了许多我在互联网上发现的不同误解,因为我得到的唯一错误是灾难性故障,没有进一步的信息(没有行号或任何错误信息)

My app crashes in the emulator when u load the map and then move the map and zoom in instantly. ive tried many different soulutions i found on the internet as the only error i get is Catastrophic Failure and no further information (no line number or any error information whatsoever)


C#代码

public sealed partial class MapView : MvxWindowsPage
    {
    double lat=0;
    double lon=0;
    Geolocator gl = new Geolocator();
    MapIcon Micon = new MapIcon();
    Geopoint blo;

    public MapView()
    {
        this.InitializeComponent();

        Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;


        GetInitialPosition();
    }
    private MapViewModel ViewModel
    {
        get { return DataContext as MapViewModel; }
    }

    private bool HasViewModel { get { return ViewModel != null; } }
    void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
    {
        e.Handled = true;
        Windows.Phone.UI.Input.HardwareButtons.BackPressed -= HardwareButtons_BackPressed;
        ViewModel.NavigateFirst();
    }

    async void GetInitialPosition()
    {

        gl.DesiredAccuracyInMeters = 500;

        gl.DesiredAccuracy = PositionAccuracy.Default;

        IAsyncOperation<Geoposition> locationTask = null;

        try
        {
            Geoposition gp = await gl.GetGeopositionAsync(
                maximumAge: TimeSpan.FromMinutes(5),
                timeout: TimeSpan.FromSeconds(10)
                );

            //LatitudeTextBlock.Text = geoposition.Coordinate.Latitude.ToString("0.00");
            //LongitudeTextBlock.Text = geoposition.Coordinate.Longitude.ToString("0.00");
        }
        finally
        {
            DispatcherTimer dt = new DispatcherTimer();
            dt.Interval = new TimeSpan(0, 0, 5);
            dt.Tick += (sender, e) => ProgBar.Visibility = Visibility.Collapsed;
            dt.Tick += (sender, e) => ProgBar.IsEnabled = false;
            dt.Start();
        }
    }
}

}

Xaml:

<views:MvxWindowsPage 
xmlns:Maps="using:Windows.UI.Xaml.Controls.Maps" 
x:Class="Etgarim.Views.MapView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Etgarim.Views"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:views="using:Cirrious.MvvmCross.WindowsCommon.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

<Grid>
    <Maps:MapControl x:Name="OmNaMap" MapServiceToken="..."/>
    <!--Visibility="Visible" Center="{Binding blo}"-->
    <ProgressBar x:Name="ProgBar" Height="667"/>
</Grid>

推荐答案

移动地图控件和进度条,使它们不会重叠,这应该可以解决问题.

Move the map control and the progress bar so they not over lapping, this should resolve the issue.

 <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="667"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
        </Grid.RowDefinitions>

        <ProgressBar Grid.Row="0" x:Name="ProgBar" />
        <Maps:MapControl Grid.Row="1" x:Name="OmNaMap" MapServiceToken="..."/>
        <!--Visibility="Visible" Center="{Binding blo}"-->

    </Grid>

这篇关于Windows Phone必应地图崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆