我在Xamarin.Forms.Maps上使用Map。
在我的iOS项目中,我的MianPage.xaml中的代码如下所示:
<StackLayout>
<maps:Map MapType="Hybrid"
x:Name="map"
HeightRequest="250">
<x:Arguments>
<maps:MapSpan>
<x:Arguments>
<maps:Position>
<x:Arguments>
<x:Double>42.510578</x:Double>
<x:Double>27.461014</x:Double>
</x:Arguments>
</maps:Position>
<x:Double>0.02</x:Double>
<x:Double>0.02</x:Double>
</x:Arguments>
</maps:MapSpan>
</x:Arguments>
</maps:Map>
</StackLayout>
在C#代码中,我创建了一个任务来获取GPS位置(纬度,经度),并希望使用GPS中的位置来更改地图上的位置。
MainPage.xaml.cs中的代码如下所示:
public MainPage()
{
InitializeComponent();
ChangeMapLocation();
}
public void ChangeMapLocation()
{
Position position = new Position(Convert.ToDouble(GlobalLat), Convert.ToDouble(GlobalLong));
MapSpan mapSpan = new MapSpan(position, 0.01, 0.01);
map = new Xamarin.Forms.Maps.Map(mapSpan);
mapSpan = MapSpan.FromCenterAndRadius(position, Distance.FromKilometers(0.444));
map.MoveToRegion(mapSpan);
}
我尝试过那样,但是在我的第一个MainPage.xaml中,坐标与此相同
<x:Double>42.510578</x:Double>
<x:Double>27.461014</x:Double>
我该怎么做才能显示C#代码中的新坐标?
您正在创建Map的新实例
Xamarin.Forms.Maps.Map map = new Xamarin.Forms.Maps.Map();
当您应该使用XAML中已经声明的实例时
<maps:Map MapType="Hybrid" x:Name="map" HeightRequest="250" >
只需删除实例化新地图的第一行
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句