【发布时间】:2022-01-05 11:11:15
【问题描述】:
好吗?
我正在用一些可能很简单的东西来敲我的头,但我想不出其他任何东西。
我想让用户打开我应用的地图屏幕时,地图摄像头将实时聚焦在用户所在的位置。
PS:我正在使用 Xamarin.Essentials
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
}
【问题讨论】:
-
你的代码有什么问题?
-
使用此代码,相机移动到海洋,但我需要移动到我的实际位置。
-
您使用的是模拟器还是实际设备?您是否请求位置权限?你检查过
GetLocationAsync返回的值吗? -
我使用的是实际设备。是的,我已启用所有权限。如何检查 GetLocationAsync 值?你能帮我吗?我认为 GetLocationAsync 什么都不做。
-
使用调试器。或者只是写入控制台日志。请注意,对于新版本的 Android,您必须在运行时请求权限,而不仅仅是在清单中“启用”它们。
标签: xamarin.forms xamarin.android