我想隐藏xamarin.forms中的+ - 缩放按钮,但保持缩放功能
属性HasZoomEnabled会删除按钮,但也会禁用缩放功能
有没有渲染的解决方案吗?
如果不是我将很乐意在android中获得渲染的解决方案
答案 0 :(得分:6)
使用自定义渲染器
创建自定义控件所以在你的pcl项目中添加
public class CustomMap : Map
{
public CustomMap(MapSpan region) : base(region)
{
}
}
在你的android项目中添加
[assembly: ExportRenderer(typeof(CustomMap), typeof(CustomMapRenderer))]
namespace MobApp.Droid.Renderers
{
public class CustomMapRenderer : MapRenderer
{
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
var map = ((MapView)Control).Map;
map.UiSettings.ZoomControlsEnabled = false;
map.UiSettings.MyLocationButtonEnabled = false;
map.UiSettings.RotateGesturesEnabled = false;
}
}
}
并像这样使用
var map = new CustomMap(
MapSpan.FromCenterAndRadius(
new Position(37.990599, 23.766820), Distance.FromKilometers(1)))
{
IsShowingUser = true,
HeightRequest = 100,
WidthRequest = 960,
VerticalOptions = LayoutOptions.FillAndExpand
};
答案 1 :(得分:3)
自2016年以来,有些事情可能会发生变化,因此,这是针对此问题的最新解决方案(在2020年1月):
您将需要创建注释中提到的CustomRenderer,并像下面这样覆盖以下方法“ OnMapReady”:
protected override void OnMapReady(GoogleMap map)
{
base.OnMapReady(map);
map.UiSettings.ZoomControlsEnabled = false;
map.UiSettings.MyLocationButtonEnabled = false;
}