default·
Mapbox比例尺与logo自定义指南
本文介绍了在Mapbox Android中调整比例尺和logo的方法。通过ScaleBar组件可自定义比例尺的文本大小(如10.sp)、宽度比例(0.05f)和位置(BottomStart)。隐藏logo只需在参数中传入空Box组件。示例代码展示了如何初始化MapboxMap并应用这些调整,包括设置初始视角(缩放12.3,杭州坐标)以及隐藏归属信息。这些方法能满足不同场景下的地图UI定制需求。
mapbox安卓
- 效果图


在使用 Mapbox Android 版本时,可以通过以下方式调整 MapboxMap 的比例尺和 logo:
在 MapboxMap 初始化时,设置比例尺和 logo 的位置和样式。通过 ScaleBar 组件自定义比例尺的文本大小、宽高比和对齐方式。在示例中,将比例尺的文本大小设置为 10.sp,宽高比为 0.05f,并将其放置在左下角。通过将 logo 参数设置为一个空的 Box 组件,可以隐藏 logo。
MapboxMap(
modifier = Modifier.fillMaxSize(),
mapViewportState = rememberMapViewportState {
setCameraOptions {
zoom(zoom = 12.3)
center(center = Point.fromLngLat(longitude = 120.06022, latitude = 30.37818))
pitch(pitch = 0.0)
bearing(bearing = 0.0)
}
},
mapState = mapState,
scaleBar = {
ScaleBar(
textSize = 10.sp, // 调小文字(默认约14sp)
ratio = 0.05f, // 宽度设为可用空间一半
alignment = Alignment.BottomStart // 设置位置
)
},
logo = {}, // 隐藏 logo
attribution = {} // 隐藏归属信息
)
调整比例尺和 logo 的方法
- 比例尺调整:
- 使用
ScaleBar组件,并通过参数textSize、ratio和alignment来调整比例尺的显示效果。 textSize控制比例尺文字的大小,ratio控制比例尺的宽度与可用空间的比例,alignment控制比例尺的位置。
- 使用
- Logo 隐藏:
- 在
logo参数中传入一个空的Box组件,即可隐藏地图上的 logo。
- 在
示例代码
MapboxMap(
modifier = Modifier.fillMaxSize(),
mapViewportState = rememberMapViewportState {
setCameraOptions {
zoom(zoom = 12.3)
center(center = Point.fromLngLat(longitude = 120.06022, latitude = 30.37818))
pitch(pitch = 0.0)
bearing(bearing = 0.0)
}
},
mapState = mapState,
scaleBar = {
ScaleBar(
textSize = 10.sp, // 调小文字(默认约14sp)
ratio = 0.05f, // 宽度设为可用空间一半
alignment = Alignment.BottomStart // 设置位置
)
},
logo = {}, // 隐藏 logo
attribution = {} // 隐藏归属信息
)
通过这种方式,你可以灵活地调整 MapboxMap 的比例尺和 logo 的显示效果,以满足不同的应用需求。