デバイスの位置を示すコードがあります。それはエミュレータでうまく動作し、Microsoftの偽の場所に連れて行きます。しかし、それを携帯電話に組み込むとうまくいきませんでした。それは私に世界地図を示しました。これは既知のバグか、何か間違ったことがありますか?ここに私のコードは次のとおりです。Windows Phone 7での位置の表示は、エミュレータでは動作しますが、実際の電話機では動作しません。
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();
}
}
}