asa*_*saf 3 google-maps xamarin.forms
我想隐藏xamarin.forms中的+ - 缩放按钮,但保持缩放功能
HasZoomEnabled属性删除了按钮,但也禁用了缩放功能
有没有渲染的解决方案?
如果不是我将很乐意在Android中获得渲染解决方案
使用自定义渲染器创建自定义控件
所以在你的pcl项目中添加
public class CustomMap : Map
{
public CustomMap(MapSpan region) : base(region)
{
}
}
Run Code Online (Sandbox Code Playgroud)
在你的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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
并像这样使用它
var map = new CustomMap(
MapSpan.FromCenterAndRadius(
new Position(37.990599, 23.766820), Distance.FromKilometers(1)))
{
IsShowingUser = true,
HeightRequest = 100,
WidthRequest = 960,
VerticalOptions = LayoutOptions.FillAndExpand
};
Run Code Online (Sandbox Code Playgroud)
小智 5
自 2016 年以来,有些事情可能发生了变化,因此这里有一个最新的解决方案(2020 年/1 月):
您需要按照评论中的说明创建一个 CustomRenderer,并像这样覆盖以下方法“OnMapReady”:
protected override void OnMapReady(GoogleMap map)
{
base.OnMapReady(map);
map.UiSettings.ZoomControlsEnabled = false;
map.UiSettings.MyLocationButtonEnabled = false;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3829 次 |
最近记录: |