Я пытаюсь использовать библиотеку GoogleAPI Roads для привязки к дороге.
Вызов асинхронный:
GoogleMaps.Roads.SnapToRoad.QueryAsync(request).GetAwaiter();
Но когда я запускаю код, я получаю сообщение об ошибке «Операция не поддерживается на этой платформе».
Исходный код был:
var response = await GoogleMaps.Roads.SnapToRoad.QueryAsync(request).Result;
Но для этого требуется пустота, которая делает этот вызов асинхронным, так что проблема просто перемещается на более раннюю позицию в стеке вызовов.
Я также не могу использовать OnCompleted, так как для этого сначала необходимо вызвать GetAwaiter.
Я не уверен, что я здесь делаю неправильно.
Устройство работает под управлением iOS 16.7.4, Xcode 15.2 и Visual Studio 17.8.6
РЕДАКТИРОВАНИЕ: обновлено с помощью функции асинхронной задачи
По-прежнему возникает та же ошибка:
var response = await GoogleMaps.Roads.SnapToRoad.QueryAsync(request);
Вот что у меня сейчас получилось:
public static async Task snapToRoad(List gpsPos)
{
List result = new List();
List subLists = ListExtensions.ChunkBy(gpsPos, 100);
foreach (List gPos in subLists)
{
Coordinate[] requestPath = gPos
.Select(geo => new Coordinate((double)geo.Latitude, (double)geo.Longitude))
.ToArray();
SnapToRoadsRequest request = new SnapToRoadsRequest
{
Key = MAPS_KEY,
Path = requestPath
};
var response = await GoogleMaps.Roads.SnapToRoad.QueryAsync(request);
foreach (SnappedPoint sp in response.SnappedPoints)
{
result.Add(new Position(sp.Location.Latitude, sp.Location.Longitude));
}
}
return result;
}
Он вызывается новым потоком, который запускается событием нажатия кнопки:
async void btnSomething_Click(object sender, EventArgs e)
{
Thread trd = new Thread(async () =>
{
var snapped = await MapUtils.snapToRoad(rawCordList);
});
trd.IsBackground = true;
trd.Start();
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... s-platform
C# Maui iOS GetAwaiter Operation не поддерживается на этой платформе ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Arangodb AQL Upsert Operation очищает, созданные при обновлении, а не только на вставке
Anonymous » » в форуме C# - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Перенос использования .GetAwaiter().GetResult() в лямбда-выражении на асинхронный
Anonymous » » в форуме C# - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Перенос использования .GetAwaiter().GetResult() в лямбда-выражении на асинхронный
Anonymous » » в форуме C# - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-