C# Xamarin形成地理定位器,不断更新位置

C# Xamarin形成地理定位器,不断更新位置,c#,android,google-maps,xamarin.forms,geolocation,C#,Android,Google Maps,Xamarin.forms,Geolocation,我希望不断更新设备在谷歌地图上的当前位置。 出于各种原因,我不得不实施我自己的蓝点。我所做的是: 我隐藏谷歌地图的默认我的位置标记(默认蓝点) 我画我自己的蓝点 我创建了一个线程,它不断调用Geolocator来更新其当前位置:await locator.GetPositionAsync(TimeSpan.FromSeconds(2),null,false) 但是,位置更新需要很大的延迟。我正在寻找一个非常低的间隔(大约50毫秒)更新位置,这可能会给我一个类似的结果,谷歌地图的原始蓝点时,设

我希望不断更新设备在谷歌地图上的当前位置。

出于各种原因,我不得不实施我自己的蓝点。我所做的是:

  • 我隐藏谷歌地图的默认我的位置标记(默认蓝点)

  • 我画我自己的蓝点

  • 我创建了一个线程,它不断调用Geolocator来更新其当前位置:
    await locator.GetPositionAsync(TimeSpan.FromSeconds(2),null,false)

但是,位置更新需要很大的延迟。我正在寻找一个非常低的间隔(大约50毫秒)更新位置,这可能会给我一个类似的结果,谷歌地图的原始蓝点时,设备正在移动


如何实现这一点?

我发现
CrossGeolocator
有一个监听功能,如果有位置更新,它会提示。此函数不会一直调用当前位置,而是会持续侦听任何位置更改

if (CrossGeolocator.IsSupported &&
    CrossGeolocator.Current.IsGeolocationAvailable &&
    CrossGeolocator.Current.IsGeolocationEnabled)
{
    CrossGeolocator.Current.PositionChanged += HandlePositionChanged;
    await CrossGeolocator.Current.StartListeningAsync(TimeSpan.FromSeconds(1), 10);
}

为什么要使用蓝点而不是默认的蓝点?您能提供您的代码吗?名称“HandlePositionChanged”在当前上下文中不存在???@MaddePersson这是您自己的函数Mate Xamarin Essentials中是否有任何等效的PositionChanged订阅?