0
在我的xamarin跨平台应用程序中,我尝试将地图集中到当前用户位置,当应用程序启动时,但我无法修改我发现的示例我下载了xamarin的geolocator插件,但无法使其工作。与Xamarin形式的地图,我如何能够在用户当前位置中心地图?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Xamarin.Forms.Maps;
using Xamarin.Forms;
using Plugin.Geolocator;
namespace Map_Test
{
public partial class App : Application
{
public App()
{
Map mapa = new Map();
mapa.IsShowingUser = true;
var locator = CrossGeolocator.Current;
var position = locator.GetPositionAsync();
mapa.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(position.Latitude, position.Longitude), Distance.FromMiles(1)));
var rootPage = new ContentPage();
rootPage.Content = mapa;
MainPage = rootPage;
}
protected override void OnStart()
{
// Handle when your app starts
}
protected override void OnSleep()
{
// Handle when your app sleeps
}
protected override void OnResume()
{
// Handle when your app resumes
}
}
}
我添加了一个新的ContentPage,这样做,但我不知道如何从updatePosition方法访问position.Latitude和position.Longitude值。
using Plugin.Geolocator;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using Xamarin.Forms;
using Xamarin.Forms.Maps;
using Plugin.Geolocator;
namespace Map_Test
{
public class MapTest : ContentPage
{
Label locationLabel = new Label();
public MapTest()
{
Map mapa = new Map();
mapa.IsShowingUser = true;
mapa.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(position.Latitude, position.Longitude),
Distance.FromMiles(1)));
Content = new StackLayout
{
Children = {
mapa
}
};
}
public async void updatePosition()
{
var locator = CrossGeolocator.Current;
var position = await locator.GetPositionAsync();
}
}
}
你用什么例子?会发生什么? –
'任务'不包含'Latitude'的定义并且没有扩展方法'Latitude'接受'Task '类型的第一个参数可以找到(您是否缺少using指令或程序集引用?) '任务'不包含'经度'的定义,并且没有找到接受'任务'类型的第一个参数的扩展方法'经度'(您是否缺少using指令或程序集引用?) –
这是示例我用: https://stackoverflow.com/a/36630649/7945025 –