如何在Xamarin Forms和MVVM架构中显示 Map . 如何在ModelView中的 Map 上创建一个位置并在PageView中显示?
视图
<?xml version="1.0" encoding="UTF-8"?>
<d:ExtendedContentPage xmlns:d="clr-namespace:TestApp;assembly=TestApp"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TestApp.MapPageView">
<ContentPage.Content>
<StackLayout VerticalOptions="StartAndExpand" Padding="30">
<maps:Map WidthRequest="320" HeightRequest="200"
Text="{Binding MapModel.MyMap]"
IsShowingUser="true"
MapType="Hybrid"/>
</StackLayout>
</ContentPage.Content>
</d:ExtendedContentPage>
模型视图
public class MapViewModel: BaseViewModel
{
private MapModel _mapModel = null;
private MapModel MapModel
{
get
{
return _mapModel;
}
set
{
if (_mapModel != value)
{
_mapModel = value;
OnPropertyChanged();
}
}
}
public MapViewModel(INavigation navigation) : base(navigation)
{
InitializeMapsPosition();
}
private void InitializeMapsPosition()
{
}
public override void RemoveHandlers()
{
throw new NotImplementedException();
}
}
模型
public class MapModel
{
public string MyMap { set; get; }
public MapModel(String myMap)
{
MyMap = myMap;
}
}
1 回答
在我的场景中,我需要在 Map 中显示一些地方的位置和当前位置 . 我使用Xamarin.Forms.Maps来显示 Map 和 Map 中的位置:我添加了一个CustomMap类并编写了两个属性注入来显示map.One属性(CenterRegion)以显示当前位置,另一个属性(CustomPins)用于显示位置在 Map 中的位置 .
CustomMap类
Xaml页面
视图模型: