Я начал использовать карты в приложении для Windows phone и понял, как получить текущие координаты, но не знаю, как нарисовать их в виде канцелярской кнопки на карте.
Это то, что у меня есть до сих пор, которое вызывает метод GetCoordinates и переходит к карте по нажатию кнопки. Кто-нибудь знает, как я могу передать координаты на карту и нарисовать ее как канцелярскую кнопку?
private async Task GetCoordinates(string name = "My Car")
{
await Task.Run(async () =>
{
// Get the phone's current location.
Geolocator MyGeolocator = new Geolocator();
MyGeolocator.DesiredAccuracyInMeters = 5;
Geoposition MyGeoPosition = null;
try
{
MyGeoPosition = await MyGeolocator.GetGeopositionAsync(TimeSpan.FromMinutes(1), TimeSpan.FromSeconds(10));
}
catch (UnauthorizedAccessException)
{
MessageBox.Show("Location is disabled in phone settings or capabilities are not checked.");
}
catch (Exception ex)
{
// Something else happened while acquiring the location.
MessageBox.Show(ex.Message);
}
});
}
//sets location of parking space using the GetCoordinates method
//opens map
private async void setLocationBtn_Click(object sender, RoutedEventArgs e)
{
await this.GetCoordinates();
NavigationService.Navigate(new Uri("/Maps.xaml", UriKind.Relative));
}
И это класс карты, который еще ничего не делает. Есть ли способ передать геокоординаты из предыдущего класса на карту и нарисовать канцелярскую кнопку? Я как-то думал сделать это в методе OnNavigatedTo:
общедоступный частичный класс Maps: PhoneApplicationPage { Geolocator geolocator = null; логическое отслеживание = ложь; ПрогрессИндикатор пи; MapLayer PushpinMapLayer;
public Maps()
{
InitializeComponent();
pi = new ProgressIndicator();
pi.IsIndeterminate = true;
pi.IsVisible = false;
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
}
}