Android基于百度地图的拖拽定位(地图可以拖动,定位图标不动)

1、要做的效果是:

类似滴滴打车中的效果,即移动地图,marker始终在地图中央。如下图demo所示:
地图实例
好吧,一不小心就暴露了我所在的城市…

2、我的思路是:

滴滴打车这种形式的就不是marker了。百度地图的marker是跟随着地图的移动而移动的。所以你就不能用marker来实现了。
你可以直接在xml布局上面添加一个居中显示的ImageView,用来显示图标。
然后在通过监听地图状态变化,获取地图中心点坐标来做逻辑处理。

3、简单的代码实现:

百度地图的相关配置,在这里就不说了,默认你已经加载了地图,并且可以正常定位了。至于在xml布局上面添加一个居中显示的ImageView,这就更不用说了吧!嘿嘿,就是这么懒…

其实很简单,我们直接监听地图的状态,在地图状态变化结束之后,获取地图中心点坐标,拿到这个中心坐标之后,就可以通过反地理编码(根据坐标获取地址)获取详细地址等信息。

下面是一个示例代码:

mBaiduMap.setOnMapStatusChangeListener(new OnMapStatusChangeListener() {
            //地图状态开始改变。
            public void onMapStatusChangeStart(MapStatus status) {
             
            }
            //地图状态改变结束
            public void onMapStatusChangeFinish(MapStatus status) {
                //改变结束之后,获取地图可视范围的中心点坐标
                LatLng latLng = status.target
                //拿到经纬度之后,就可以反地理编码获取地址信息了
                //initGeoCoder(latLng)
            }
            //地图状态变化中
            public void onMapStatusChange(MapStatus status) {
            }
        });

4、完成

这就算是实现了第一步我们要做的效果了,怎么样?很简单吧!快去动手试试看吧。

5、本人公众号,关注一波,共同交流吧。

在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气的铅笔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值