Xamarin.forms 需要一种持续跟踪用户的方法';在Android和iOS上的Xamarin表单中的当前位置

Xamarin.forms 需要一种持续跟踪用户的方法';在Android和iOS上的Xamarin表单中的当前位置,xamarin.forms,xamarin.essentials,mapsui,Xamarin.forms,Xamarin.essentials,Mapsui,我正在为学校做一个高年级项目,该项目要求我通过手机GPS坐标持续跟踪用户。我的最终目标是不断用当前用户的位置更新我的Mapsuimap。 我遇到了如何将数据不断更新到Mapsui的障碍。如果我输入静态GPS坐标,该点将正确显示在我的地图上 实际上,让我大吃一惊的核心问题是异步函数,以及如何在使用Xamarin.Essentials获取位置数据时正确实现它们 任何想法或提示都将不胜感激 您似乎希望在后台跟踪用户的位置。如果你读过关于Xamarin的文章。要点:地理定位。还有一些事情你应该做 在iO

我正在为学校做一个高年级项目,该项目要求我通过手机
GPS
坐标持续跟踪用户。我的最终目标是不断用当前用户的位置更新我的
Mapsui
map。 我遇到了如何将数据不断更新到
Mapsui
的障碍。如果我输入静态
GPS
坐标,该点将正确显示在我的地图上

实际上,让我大吃一惊的核心问题是异步函数,以及如何在使用
Xamarin.Essentials
获取位置数据时正确实现它们


任何想法或提示都将不胜感激

您似乎希望在后台跟踪用户的位置。如果你读过关于Xamarin的文章。要点:地理定位。还有一些事情你应该做

在iOS项目中

1. 在info.plist中添加隐私

<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access location when open.</string>
<key>NSLocationAlwaysAndWhenInUsageDescription</key>
<string>This app needs access location when open or in background.</string>
// support iOS 10 and before
<key>NSLocationAlwaysUsageDescription</key>
<string>This app needs access location when open.</string>
n不使用时的位置说明
此应用在打开时需要访问位置。
N位置始终和何时使用说明
打开或在后台时,此应用需要访问位置。
//支持iOS 10及之前的版本
N位置始终使用说明
此应用在打开时需要访问位置。
2。对于需要更多执行时间才能执行的任务,您必须请求特定权限才能在后台运行这些任务,而不会挂起它们

对某些后台执行类型的支持必须由使用它们的应用程序提前声明。您可以从VS中项目设置的“功能”选项卡声明应用程序支持的后台模式。启用背景模式选项会将UIBackgroundModes键添加到应用程序的Info.plist文件中

有关iOS中后台执行的更多详细信息,请参阅

在Android项目中

您可以创建
后台服务

IntentService
类为在单个后台线程上运行操作提供了一个简单的结构。这允许它处理长时间运行的操作,而不会影响用户界面的响应。另外,
IntentService
不受大多数用户界面生命周期事件的影响,因此它会在关闭
异步任务的情况下继续运行


有关更多详细信息,请参阅

谢谢你的帖子,但我仍然有问题。我可以通过每次按下按钮获得GPS坐标,我知道我可以分别为iOS和Android执行后台任务。我想要的是一种使用Xamarin.Essentials.Geolocation不断更新用户位置的方法,以尝试将大部分代码保留在跨平台目录中。