UiSetting
MapboxMap的用户界面设置。要获取此接口,请调用getUiSettings()。
应用最广泛的是手势控制、罗盘、logo,归因的调整。例如使用mapbox的日常开发中经常遇到布局遮挡的问题。
1.罗盘的相关设置
UiSettings uiSettings = mapboxMap.getUiSettings();
//是否启用罗盘
boolean isCompassEnabled = uiSettings.isCompassEnabled();
//设置是否启用罗盘
uiSettings.setCompassEnabled(true);
//设置北向指南针渐隐 为true启用淡入淡出动画; false禁用它
uiSettings.setCompassFadeFacingNorth(true);
//自定义罗盘图片
uiSettings.setCompassImage(getResources().getDrawable(R.drawable.mapbox_compass_icon));
//设置Gravity
uiSettings.setCompassGravity(Gravity.TOP | Gravity.END);
//设置Margins
uiSettings.setCompassMargins(0,0,10,0);
1.1将地图视图重置为朝北。
mapboxMap.resetNorth();
2.归因的相关设置
//是否启用了归因
boolean attributionEnabled = uiSettings.isAttributionEnabled();
//设置启用归因
uiSettings.setAttributionEnabled(true);
//设置归因视图的色彩。使用它来更改属性的颜色
uiSettings.setAttributionTintColor(Color.RED);
//设置Gravity
uiSettings.setAttributionGravity(Gravity.BOTTOM);
//设置Margins
uiSettings.setAttributionMargins(10,0,0,10);
3.手势
注意:此设置仅控制用户与地图的交互。如果将值设置为false,则仍可以通过编程方式更改地图位置。
//设置是否启用所有手势的首选项。
uiSettings.setAllGesturesEnabled(uiSettings.areAllGesturesEnabled());
//更改用户是否可以旋转地图。
uiSettings.setRotateGesturesEnabled(uiSettings.isRotateGesturesEnabled());
//更改用户是否可以在地图上滚动。
uiSettings.setScrollGesturesEnabled(uiSettings.isScrollGesturesEnabled());
//更改用户是否可以倾斜地图。
uiSettings.setTiltGesturesEnabled(uiSettings.isTiltGesturesEnabled());
//更改用户是否可以缩放地图。
uiSettings.setZoomGesturesEnabled(uiSettings.isZoomGesturesEnabled());
//更改用户是否可以通过双击缩放地图。
uiSettings.setDoubleTapGesturesEnabled(uiSettings.isDoubleTapGesturesEnabled());
//更改用户是否可以在地图上水平滚动。
uiSettings.setHorizontalScrollGesturesEnabled(uiSettings.isHorizontalScrollGesturesEnabled());
//启用快速缩放手势:更改用户是否可以通过点按两次,按住并上下移动指针来缩放地图。
uiSettings.setQuickZoomGesturesEnabled(uiSettings.isQuickZoomGesturesEnabled());