Отображение местоположения в Windows Phone 7 работает в эмуляторе, но не на реальном телефоне - PullRequest
0 голосов
/ 01 августа 2011

У меня есть код, который используется для отображения местоположения устройства. Он прекрасно работает на эмуляторе и доставляет меня в поддельное место в Microsoft. Но он не сработал, когда я встроил его в телефон, он показал мне карту мира. Это известная ошибка или я сделал что-то не так? Вот мой код:

    private GeoCoordinateWatcher loc = null;

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        if (loc == null)
        {
            loc = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
            loc.StatusChanged += loc_StatusChanged;
        }
        if (loc.Status == GeoPositionStatus.Disabled)
        {
            loc.StatusChanged -= loc_StatusChanged;
            MessageBox.Show("Location services must be enabled on your phone.");
            return;
        }
        loc.Start();
    }

    void loc_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
    {

        if (e.Status == GeoPositionStatus.Ready)
        {
            Pushpin p = new Pushpin();
            p.Template = this.Resources["pinMyLoc"] as ControlTemplate;
            p.Location = loc.Position.Location;
            mapControl.Items.Add(p);
            map1.SetView(loc.Position.Location, 17.0);
            loc.Stop();
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 14 августа 2011

Это связано с тем, что Bing Map не поддерживает мое местоположение.Я не мог использовать приложение Bing Map, установленное на моем телефоне.Хм ...

0 голосов
/ 01 августа 2011

Вместо использования события StatusChanged вы должны использовать событие GeoCoordinateWatcher.PositionChanged , из которого следует использовать свойство GeoPositionChangedEventArgs.Position , чтобы отразить измененное местоположение.

...