收藏
回答

map组件动态修改scale值

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug map 客户端 6.7.3 2.3.1

- 当前 Bug 的表现(可附上截图)

真机上通过controltap修改map组件的scale,先滑动地图,再点击放大缩小,会自动跳回到最开始的位置

- 预期表现

无论地图的位置滑到哪里,点击放大缩小,应该是对当前位置

- 复现路径


- 真机上改变scale


回答关注问题邀请回答
收藏

6 个回答

  • 雪奕翎
    雪奕翎
    2023-12-27

    个人是使用的uniapp开发,按照下面那样写是生效的

    const mapCtx = wx.createMapContext('map', this);
    mapCtx.getScale({
    	success: (res) => {
    		this.scale = res.scale;
    		this.$nextTick(() => {
    			this.scale = 16; //恢复原始缩放值
    		})
    	}
    })
    
    2023-12-27
    有用 2
    回复 1
    • 我干什么
      我干什么
      05-13
      这个是真有用,亲测!!!
      05-13
      回复
  • Teamo丶
    Teamo丶
    2018-11-13

    你需要换一个思路做才能实现, 你滑动地图的时候你需要先获取到当前地图的中心点坐标(

    wx.createMapContext("map").getCenterLocation), 然后设置给map 然后再做放大缩小

    2018-11-13
    有用 2
    回复
  • 柴米油盐酱醋茶
    柴米油盐酱醋茶
    2022-03-17

    都2022年了,这个问题还是存在。。。。

    2022-03-17
    有用 1
    回复 1
    • Awbeci
      Awbeci
      2022-06-11
      这就是tx一贯的尿性
      2022-06-11
      回复
  • 一咻
    一咻
    04-27

    怎么解决呀 2024 了

    04-27
    有用
    回复
  • 战战
    战战
    2023-05-04
    修改scale值我是通过includePoints的padding值去设置的:
    this.mapCtx = wx.createMapContext("map");
    this.mapCtx.includePoints({
                        points: [{
                            latitude: this.form.fromLatitude,
                            longitude: this.form.fromLongitude
                        }, {
                            latitude: this.form.toLatitude,
                            longitude: this.form.toLongitude
                        }],
                        padding: [ 170, 170, 170, 170 ]
                    });
    
    2023-05-04
    有用
    回复 1
    • 成
      2023-07-14
      老哥,预期效果能达到在当前位置缩放吗?还有请问下这个points数组是传左下和右上的经纬度吗
      2023-07-14
      回复
  • __ Mason、
    __ Mason、
    2023-01-16

    2023年了还是存在。。。

    2023-01-16
    有用
    回复
登录 后发表内容