51地图如何获得当前百度地图缩放等级级????急...

百度地图SDK3.2.0--自定义缩放按钮,与手势同步
我的图书馆
百度地图SDK3.2.0--自定义缩放按钮,与手势同步
转载注明出处:http://blog.csdn.net/zhshulin/article/details/&&&百度地图SDK3.0今年6月5号更新之后,全面升级SDK接口设计,不兼容老版本。& &本文简介:百度地图自带缩放控件很丑,即使在9月18号发布的3.1.1版本中开放了调整位置的接口依然无法满足我的需要,而且百度地图自己的产品就是位于右侧上下排列的两个缩放按钮,看着舒服,用着方便。故而本文说明的就是模仿这种实现的一个简单方法。& &这是一个大神的解决方案,他用的百度地图版本为2.3,接口和当前3.0之后的很多不一样,修改之后发现没有metersToEquatorPixels()方法,故而无法直接实现,但是今天发现百度地图SDK3.1.1已经新增了这种方法,故而有需求的同学可以参考他的解决方案,不过需要自己改一改。以下是我的解决方案,非常简单:首先看一下主Activity中的布局文件,很简单的相对布局:[html]&这样你就可以在自己的地图上看到两个缩放控件:接下来就是隐藏百度默认的缩放控件,然后为自己的控件添加点击事件:隐藏缩放控件在3.0版本中(boolean&enabled)设为false没效果,不知道后面更新3.1.1中有没有解决,有兴趣的可以自己试试。我的解决方法是:[java]&调用这个方法即可隐藏百度自己的缩放控件,然后我们为自定义的两个缩放按钮添加事件即可:[java]&这样我们就得到了我们想要的效果了。BUG修复: 17:48& &上面说到的部分实现了自定义缩放按钮,但是没有考虑到地图中的手势缩放,下面就是修复这部分的BUG,让用户手势缩放和按钮缩放可以同步。1、在类中建立 private float currentZoomLevel这个变量,将上面代码中的zoomLevel全部换成这个。2、类中实例化地图状态改变接口,如下:[java]&3、在onCreate()方法中使用BaiduMap对象调用setOnMapStatusChangeListener()方法设置***即可完成;BUG修复 & &11:24& &&解决有时候地图放的过大而无法手势缩小的问题。& & 上述用数字表示的最大最小缩放等级,改用BaiduMap的对象来获取最大最小值,如果超过了就将最大最小值赋给当前值。主要代码如下:[java]&
TA的最新馆藏
喜欢该文的人也喜欢后使用快捷导航没有帐号?
暂时没有人问过相似的问题,你可以做第一个提问题的人
查看: 8304|回复: 2
自定义缩放按钮,如何做到官方地图那种流畅平滑的效果??
利用zoomin()和zoomout(),点击按钮的缩放效果是一帧一帧的,不能像官方给的那样平滑地放大,然后我试着用zoomto(),想一级级放大,利用延时,类似播放动画的效果,仍然不行,例如这样:
for(n=0;n&=10;n++)
& && &delay(50);//50ms
& && &mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomTo((float) (zoomLevel+0.1*n)));
以为这样能实现动态效果,一级一级放大,但是只能获取最后一个放大级别zoomLevel+1,呈现出的效果是500ms也就是0.5s后直接跳到+1的放大级别,望得到指点!
根据你的代码,我这边测试是可以的啊,如果还是不可以,你试下animateMapStatus接口。
根据你的代码,我这边测试是可以的啊,如果还是不可以,你试下animateMapStatus接口。 ...
可以放大是不错,但是不能平滑的增大啊,真的确定你的像官方的一样效果吗?
Powered by

参考资料

 

随机推荐