高德地图,设置缩放级别zoom为小数,细化设置缩放颗粒度

项目中,用到了高德地图,用setFitView()方法设置自适配合适视野后,发现实际展示效果有点小。如下图:

实际是产品经理提出来的,哈哈。so,必须要解决了......

于是想到了setZoom()方法,只要在渲染最后位置先获取当前缩放比getZoom(),

然后map.setZoom(map.getZoom() + 1)不就行了嘛!

然并卵,缩放比zoom+1后超出了容器,放大比例太大了。

那么能不能加个小数呢?比如map.setZoom(map.getZoom() + 0.3)?

事实证明是不行的,最终的zoom会按四舍五入算出一个整数,即要么不变,要么+1

于是查阅文档,想到了解决方案,文档截图:

也就是说zoom值一般情况下只能是3-18的整数,除非在3D模式下,zoom可以设置为浮点数,

那么,也就是说把地图模式设置成3D模式不就行了嘛,上代码:

this.overviewMap = new AMap.Map('overview-map', {
     mapStyle: 'amap://styles/eecda2b1b41284dc3d407df1b08d9', // 设置地图的自定义样式-深色
     pitch: 5, // 地图俯仰角度,有效范围 0 度- 83 度
     viewMode: '3D', // 地图模式
     resizeEnable: true,
     center: returnLanglat(thiz.province), // 地图默认定位当前省份省会
     zoom: 10
})

3D地图模式直接加上这两行配置即可,

pitch: 5, // 地图俯仰角度,有效范围 0 度- 83 度,不想要3D效果此处设置为0即可
viewMode: '3D', // 地图模式

然后再map.setZoom(map.getZoom() + 0.3),就会发现地图就会放大+0.3的效果。

console.log(map.getZoom()) // 打印出改变后的zoom值,会变成你想要的+0.3的小数。

 

有问题可以留言交流~

The End

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值