map组件 bindregionchange 获取中心点真机上无限卡闪
发布于 6 年前 作者 gangdeng 6194 次浏览 来自 问答

markers 随中心点重新描绘,本地测试版上没问题,ios9.3.3手机拖动,中心 markers无限卡闪

代码:

/*地图视野变化事件*/

  mapChange:function(e){

    var that = this;

    var latitude = that.data.latitude;

    var longitude = that.data.longitude;

    var mapLaclNum = that.data.mapLaclNum;

    if(mapLaclNum>2){

      return;

    }

    mapLaclNum++;

    if(e.type == ‘end’){

        that.mapCtx.getCenterLocation({

        success: function(res){

            console.log(res)

            that.setData({

            longitude: res.longitude

            ,latitude: res.latitude,

            mapLaclNum:mapLaclNum

            // ,markers:[

            //   {

            //   id: 0

            //   ,iconPath: “…/…/…/images/local_c.png”

            //   ,longitude: Number(res.longitude)

            //   ,latitude: Number(res.latitude)

            //   ,width: 30

            //   ,height: 30

            //   }

            // ]

          })

        }

      })

    }else if(e.type == “begin”){

      that.setData({

        mapLaclNum:0,

      })

    }

  },

HTML

<map id=“map4select” scale="{{mapScale}}" class=“mapStyle” controls="{{controlsImg}}" longitude="{{longitude}}" latitude="{{latitude}}" bindregionchange=“mapChange” markers="{{markers}}"></map>

10 回复

怎么在做到在移动的时候不改变经纬度呢

regionchange中去更新经纬度会导致重复触发regionchange,这里需要你们看看什么场景是要这样调用

楼主大大,  regionchange 事件里面怎么 修改map 的中心点?求教。急急急!

17年这个问题已经解决了,现在又出现问题了,同一套代码,17年正常,18年就表现为拖动地图后,地图中心点回归到初次中心点,这次倒不报错了。

打开调试,

bindregionchange

就是一直在自己跑啊

目前遇到,在map初始加载的时候,会触发

regionchange 这个事件。      多次触发请求接口。(理想状态下应该:在拖动结束的时候,才调用请求接口函数。初始加载map时,不应该触发regionChange函数)

要是需要利用经纬度去查询周边的商家呢…

拖动结束以后在更改经纬度,记录中心坐标点

移动的时候不要更改经纬度

怎么解决的?能贴出解决的代码么

回到顶部