关于小程序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 ...
随机推荐
- linux输入子系统概念介绍
在此文章之前,我们讲解的都是简单的字符驱动,涉及的内容有字符驱动的框架.自动创建设备节点.linux中断.poll机制.异步通知.同步互斥.非阻塞.定时器去抖动. 上一节文章链接:http://blo ...
- shell命令getopts
#!/bin/bash set -e cmd="ls" while getopts :a:t:sn opt; do case $opt in a) cmd=$cmd" - ...
- Python 正则表达式之选择
In [4]: import re In [5]: re.findall(r"\d+","jjj1234mm222")Out[5]: ['1234', '222 ...
- 匿名类型与Select方法实现自定义对象插入局部表结构中
在提取局部表结构数据时,通过Select选取需要的字段,如下句,此时其实产生了一个不用于_menuMan的原新数据类型new { c.SYS_COMMANDS_ID,c.TXT_COMMANDTITL ...
- Java对网络图片/本地图片转换成Base64编码和解码
一.将本地图片转换成Base64编码字符串 /** * 将本地图片转换成Base64编码字符串 * * @param imgFile 图片目录路径 * @return */ public static ...
- leetcode832
vector<vector<int>> flipAndInvertImage(vector<vector<int>>& A) { vector& ...
- nat123安装启动教程帮助
转自:http://www.nat123.com/Pages_17_291.jsp 本文就nat123安装启动可能遇到的问题及与安全狗影响处理. 下载安装nat123客户端安装包.第一次安装使用,可选 ...
- 解决free -h cached 过大 问题
//先同步数据 sync //cache 释放: //To free pagecache: echo 1 > /proc/sys/vm/drop_caches //To free dentrie ...
- python的ftplib模块
Python中的ftplib模块 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件 FTP的工作流程及基本操作可参考协议RFC95 ...
- eclipse egit(分支管理 下)
在Git的分支merge中,不可能没有代码的冲突问题,特别在跟别人分工合作时.那该怎么解决? 1.新建一个conflict分支,在dev方法下添加一句 System.out.println(“Crea ...