#xamarin.forms #xamarin.android
Вопрос:
все в порядке?
Я бьюсь головой о что-то, что может быть простым, но я не могу придумать ничего другого.
Я хочу сделать так, чтобы, когда пользователь открывает экран карты моего приложения, камера карты фокусировалась на том, где находится пользователь в режиме реального времени.
PS: Я использую Xamarin.Предметы первой необходимости
Ps2: С помощью этого кода камера остается в Риме или перемещается в океан, но мне нужно, чтобы она переместилась в мое фактическое положение.
Ниже приведен код, который я использую, любая помощь приветствуется.
public async void AproximaLocalUsuario() { try { var request = new GeolocationRequest(GeolocationAccuracy.Medium); var location = await Geolocation.GetLocationAsync(request); if (location != null) { Position position = new Position(location.Latitude, location.Longitude); MapSpan mapSpan = MapSpan.FromCenterAndRadius(position, Distance.FromKilometers(0.444)); map.MoveToRegion(mapSpan); } } catch (FeatureNotSupportedException fnsEx) { // Handle not supported on device exception }
Комментарии:
1. Что не так с вашим кодом?
2. С помощью этого кода камера перемещается в океан, но мне нужно, чтобы она переместилась в мое фактическое положение.
3. вы используете эмулятор или реальное устройство? Вы запрашиваете разрешения на местоположение? Вы проверили возвращаемое значение
GetLocationAsync
?4. Я использую настоящее устройство. Да, у меня есть все разрешения. Как я могу проверить значение GetLocationAsync? Вы можете мне помочь? Я думаю, что GetLocationAsync ничего не делает.
5. Используйте отладчик. Или просто запишите в журнал консоли. Обратите внимание, что в новых версиях Android вам необходимо запрашивать разрешения во время выполнения, а не просто «включать» их в манифесте.