Android地图 百度地图自定义缩放图标按钮样式,简单实用只需两步几行代码搞定

场景:
产品嫌弃百度地图自带的缩放按钮太丑,需要自定义,开始我的想法是改变官方的缩放按钮,但是发现这种想法太难实现,实时证明这种想法是不对的。

问题:
如何实现百度地图缩放按钮自定义?

解决方法:
在网上看了很多方法,太复杂了动不动就创建好几个文件,还要写很多代码,我就放弃了。
准备自己去百度地图的官方文档找找答案。果然发现了惊喜,有一个方法就是专门做这件事的。

改变地图缩放等级
根据场景的不同可以分别通过MapStatusUpdateFactory类的zoomTo、zoomIn、zoomOut以及zoomBy四种方法改变地图缩放级别。示例如下:

//直接缩放至缩放级别16
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomTo(16));
//使缩放级别增大一级
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomIn());
//使缩放级别减小一级
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomOut());
//在当前的缩放级别上增加或减小具体的缩放级别
// 4 在当前的缩放级别上增加4
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomBy(4));
// -4 在当前的缩放级别上减小4
mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomBy(-4));
此外,上述示例代码中setMapStatus()方法是以直接跳变的效果改变地图缩放级别,开发者可以使用animateMapStatus()方法实现地图缩放级别改变的渐变动画效果。
注意:当设置的地图缩放级别超出SDK支持的最大或最小级别时对应以最大或最小缩放级别显示。

这时候方法就很明朗了,只需简单的两步,几行代码就可以实现。

第一步:按照UI设计写好缩放按钮的视图。
在这里插入图片描述
第二步:给缩放按钮添加点击监听,并设置按钮点击后响应的方法即可。

	/**
     * 点击放大,调用该方法
     * 使缩放级别增大一级
     */
    @Override
    public void zoomIn() {
        mBaiduMap.animateMapStatus(MapStatusUpdateFactory.zoomIn());
    }

    /**
     * 点击缩小,调用该方法
     * 使缩放级别减小一级
     */
    @Override
    public void zoomOut() {
        mBaiduMap.animateMapStatus(MapStatusUpdateFactory.zoomOut());
    }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值