0
私はXamarinアプリケーションでGPSデータを取得しようとしていますが、待ってからコードをスキップして関数を呼び出したところに戻ります。私のコードです。ここに私のコードですコードがスキップされ、呼び出し元の関数に戻る
namespace googleMap
{
public partial class MainPage : ContentPage
{
public string apidata;
public MainPage()
{
InitializeComponent();
apiDataAsync();
}
public async void apiDataAsync()
{
await MapLoadAsync();
}
private async Task MapLoadAsync()
{
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 20;
var ticks = 10000;
TimeSpan ts = new TimeSpan(ticks);
var location = await locator.GetPositionAsync(TimeSpan.FromSeconds(20), null, true);
var latitude = location.Latitude.ToString();
var longitude = location.Longitude.ToString();
}
}
私は助けていただければ幸いです。ありがとうございます。 await式が行われるまで
'await'の後にコードをスキップするのではなく、' GetPositionAsync'によって返されたタスクが完了したときにコードがスケジュールされて実行されるということです。あなたは効果的に何か起こっている*起きている。あなたは本当にコンストラクタから 'MapLoadAsync'を呼び出して結果を待っていますが、コンストラクタで' await'を使うことはできません。代わりに静的なファクトリメソッドを書くことができます。あなたの要件が何であるかを正確に知るのは難しいです。 –
実際に 'MapLoadAsync'とは何ですか?あなたは緯度と経度を取得していて、文字列に変換して床にドロップします。 – pstrjds
@pstrjds投稿していませんが、計算後に地図上にピンを描画しています –