关于小程序bindregionchange事件在IOS崩溃的问题
- 先说下原因,我在bindregionchange事件触发函数中设置了经纬度,而latitude和longitude是绑定在map组件上的,滑动地图的过程中重新设置了地图中心点的经纬度,会导致地图本身的滑动,手动滑动地图和地图本身的移动在某些情况下会冲突,也就导致了有时候会划不动的情况了
this.setData({
latitude: res.latitude,
longitude: res.longitude
});
- 解决办法就是,在该事件函数中不设置地图中心点的经纬度,如果需要用到地图中心点的经纬度,则用临时变量来替代。阐述一下我这里的场景是怎样的,当地图滑动的时候,我需要拿到地图中心点的经纬度,与上一次保存的地图中心点经纬度进行距离的计算,如果距离满足一定要求,比如大于3000米,则请求该新的地图中心点周围满足要求的点,然后地图上打点显示,下面这段代码块是位于getCenterLocation函数的success回调中
// 3. 设置临时地图中心点的经纬度 如果经纬度和上一次的经纬度相等 或者 移动距离小于1米 则直接返回
if ((res.latitude == latitude && res.longitude == longitude) || distance < 1) {
return;
}
that.setData({
tmpLatitude: res.latitude,
tmpLongitude: res.longitude
});
- 说一下我遇到的另一个问题,就是在IOS上,点击地图组件上的跳转到当前位置的图标,一直不起作用,要点击两三次之后才起作用,之后猜测可能是执行moveToLocation的时候与其它线程冲突了,导致了没反应,用了下面的代码解决了问题,延迟200毫秒再执行moveToLocation
var that = this;
setTimeout(function () {
that.mapCtx.moveToLocation();
}, 200)
- 这里顺带记录一下,小程序中获取view高度的方法
var that = this;
var query = wx.createSelectorQuery();
query.select('#cabinetInfo').boundingClientRect()
query.exec(function (res) {
that.setControls(res[0].height);
})
关于小程序bindregionchange事件在IOS崩溃的问题的更多相关文章
- 「小程序JAVA实战」 小程序的事件(11)
转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-11/ 我们以前在web开发的时候,web页面也有一些相关的事件,当然小程序要接触屏幕要进行一些点击 ...
- 微信小程序中事件
微信小程序中事件 一.常见的事件有 类型 触发条件 最低版本 touchstart 手指触摸动作开始 touchmove 手指触摸后移动 touchcancel 手指触摸动作被打断,如来电提醒,弹窗 ...
- 关于微信小程序开发环境苹果IOS真机预览报SSL协议错误问题解决方案
微信小程序开发环境苹果IOS真机预览报SSL协议错误问题 原文来自:https://blog.csdn.net/qq_27626333/articl ...
- 微信小程序的事件
事件,视图层到逻辑层的一种通讯方式,或者将用户的行为返回到逻辑层,当我们在组件绑定事件之后,当我们触发事件,就会执行逻辑层绑定的事件,处理回调函数,当页面的事件触发之后 页面上元素一些额外事件,通过事 ...
- 小程序onShow事件获取options方法
微信小程序 onShow() 事件 onShow() 事件不接受参数,因此无法获取页面 url 传递过来的参数,只有 onLoad() 事件可以. onShow(options){ console.l ...
- 小程序 ----踩坑 ---安卓iOS兼容等
关于小程序一些小功能的代码都在这个GitHub上,感兴趣的可以去看看,https://github.com/huihuijiang/miniProgram目前有:列表左滑删除,拖拽浮标 一.小程序坑1 ...
- 小程序 onReachBottom 事件快速滑动时不触发的bug
一般在列表页面 会先加载一定数量的数据 触发上拉加载这个动作的时候再陆续加载数据 假如上拉一次加载10条数据 在小程序中 你快速滑动页面触发加载这个事件的话 你会发现小程序卡着不动了 刚开始以为数据加 ...
- 微信小程序Dom事件实现
面对微信小程序,可能没有像我们平时使用JQuery那样随心所欲.本篇就是为了解决这个问题. 请合理使用工具! 细节就不说了,直接备份一个实现的案例: wxml <view class=" ...
- 微信小程序自定义事件
案例结构 首先,我还是会以案例的形式向大家讲解(这样也能方便大家更好的理解)简单介绍一下案例项目的内容(以上一章自定义组件的案例为基础)项目名称:component自定义子组件cpt父组件:logs ...
随机推荐
- 用cascade删除有约束的表或记录
删除有约束的表 Drop table TERMPRO_RULE_ROUTE_TYPE cascade constraints:
- Dev控件类似于ComBox的DropDownControl用法
dropDownButton1.DropDownControl= CreateDXPopupMenu(); private DXPopupMenu CreateDXPopupMenu() { DXPo ...
- flask系列七之cookie和session
该部分参考链接: http://blog.csdn.net/qq_28877125/article/details/77677890 http://blog.csdn.net/qq_28877125/ ...
- leetcode905
vector<int> sortArrayByParity(vector<int>& A) { vector<int> EVEN;//偶数 vector&l ...
- RAD 10 新控件 TSearchBox TSplitView
Seattle新控件 1.TSearchBox Events OnInvokeSearch published Occurs when the search indicator button is c ...
- bash shell笔记2 结构化命令
二.使用结构化命令 知识内容: # 改变命令流 # 使用if-then逻辑 # 嵌套if-then # 测试条件 # 高级if-then功能 许多程序在脚本命令之间需要某些逻辑控制流,有些命令允许脚本 ...
- Linux 2.6.32内核字符设备驱…
引言:Linux驱动中,字符设备的设计一般会占产品驱动开发的90%以上,作者根据驱动开发的实际经验,总结了一个标准的字符设备驱动的模板,仅供参考. //=======================字 ...
- Python基本数据类型之字符串、数字、布尔
一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...
- FeiQ项目
一.映射表 UDPMeditor.h中: typedef void (UDPMeditor::*pFunc)(char*,long); struct ProtocolMap { PackdefType ...
- 201671010127 2016—2017-2 通过一个小程序对Java的再认识。
学习了将近四周的Java语言,对于Java语言,我也有了更进一步的理解,出于对Java语言的喜爱,我总是喜欢没事的时候,自己敲一些很简单的代码,一边学习Java语言,一边对比C语言,往往可以帮助我们更 ...