我想在构造函数命令
中实现onAppearingmap.MoveToRegion(defaultPin)
地图需要显示一个地图,地图的默认图钉位于中心。
这是我的代码隐藏类的一部分:
public partial class LocationPage : PostLoginContentPage
{
public LocationPage ()
{
BindingContext = ViewModel = new LocationViewModel(App.ScreenHeight, App.ScreenWidth);
InitializeComponent ();
searchFullMapImage.IsVisible = false;
map.UiSettings.ZoomControlsEnabled = false;
List<Pin> defaultPins = ViewModel.Pins;
Pin firstPinPosition = defaultPins?.FirstOrDefault(m => m.Position != null && m.Position.Latitude != 0 && m.Position.Longitude != 0);
LoadPins(defaultPins);
map.SelectedPin = firstPinPosition;
map.MoveToRegion(MapSpan.FromCenterAndRadius(firstPinPosition.Position, Distance.FromMeters(10000)), true);
}
//some other methods...
}
此外,如何绑定onClick的按钮以向我展示罗马? 我正在使用XF.GoogleMaps 2.3.0和Xamarin.Forms 2.5.4.444
答案 0 :(得分:0)
好吧, 为了使其正常工作,您需要在移动地图之前确保地图已准备就绪。我建议将您的代码移动到viewModel并在那里绑定属性。因此,您可以检查mapReady(很抱歉,如果属性名称不同,但是类似这样)
然后确保地图准备就绪并且可以移动。 您应该确保它在UI线程上执行,否则它不会移动。
为确保您可以使用它,
Device.BeginInvokeOnMainThread (() => {
map.MoveToRegion(MapSpan.FromCenterAndRadius(firstPinPosition.Position,
Distance.FromMeters(10000)), true);
});