想咨询下,是否用的是重定向返回业务的页面的,如果不用重定向的话怎么监听到支付完成的呢?
微信H5支付完成后立刻查询订单返回NOTPAY(未支付)查询接口地址:https://api.mch.weixin.qq.com/pay/orderquery 微信H5支付完成后立刻查询订单返回NOTPAY(未支付),间隔几秒钟之后再次查询返回SUCCESS(支付成功),是不是意味着微信的订单查询不能实时地展示支付结果,需要支付完成后等待一定的时间调用查询接口才能获知准确的支付结果?如果有等待时间,那么这个时间是多久呢?
2020-09-02建议不要在onload中调用moveToLocation方法,可以通过获取当前位置经纬度wx.getlocation并设置为map的经纬度达到效果,且获取经纬度的时候type为gcj02。目前我这样做可以达到效果。
安卓,地图在onLoad里调moveToLocation()无法跳到当前地理位置设置了settimeout也无效,设置其他触发事件方才有效,开发者工具正常
2018-08-21wx.getLocation()的时候设置下类型(type)为gcj02试试
android中<map/>中显示位置与wx.getLocation的数据不匹配<map/>中show-location的定位点与wx.getLocation中返回的数据不匹配,误差巨大! IOS设备中,误差极小,忽略不计。 android设备中,根据不同的手机型号,误差情况不同。 测试设备:vivo y66,oppo a73t, 小米 mix2 其中vivo y66,oppo a73t存在巨大误差,小米mix2误差很小 问题情况:不是每时每刻都存在巨大误差的,误差会存在一段时间,根据实际位置的不同,误差时间和误差范围也不同。 红色圆形中心点是wx.getLocation()中返回的经纬度,每秒获取一次 地图show-location=true,每秒moveToLocation()一次 地图中心 为<map/>的getCenterLocation()获取的数据 定位中心 为wx.getLocation()获取的数据 测试过程中没有滑动过地图,保证getCenterLocation()的数据就是地图moveToLocation()后的中心 测试开始的时候,需要把地图放大,才能看到圆形 正常情况下的表现如下图: 红色圆形与定位点在相同位置 [图片] 异常表现如下图: 红色圆形与定位点存在误差 [图片] [图片]
2018-08-15就目前自己解决的方式说下: 第一个问题: 在onload方法中设置中心点不生效,是因为onload方法中地图没有加载完成,需要在onready中加载,为了确定地图已经加载完成,利用map的bindupdated绑定方法,标识一个加载完成的标识位,具体代码参考: async onReady() { let flag = true while (flag) { if (this.mapCtx && this.mapUpdateFinishFLag) { this.latitude = this.latitudemedian this.longitude = this.longitudemedian flag = false this.$apply() } await this.sleep(1) // 自己写的一个睡眠的 } } async onLoad() { _this.mapCtx = await wx.createMapContext('myMap') } updateFinish() { this.mapUpdateFinishFLag = true // data中设置默认为false this.$apply() } 第二个问题: 自己手动调用moveToLocation似乎总会用问题发生,就算是用了类型第一个问题的方式去解决,所以如果是想地图加载的时候就直接定位到中心点,应该手动获取到自己位置的经纬度(wx.getLoacation),并设置为地图map的经纬度上,注意一个点,调用wx.getLocation获取经纬度是type需要设置为gcj02的类型,默认是wgs84。再利用设置中心点的方式定位到当前位置就可以了。 第三个问题,不多说,还是利用死循环: // 获取当前的视野范围 async getRegion() { let _this = this while (true) { let res = await new Promise((resolve, reject) => { this.mapCtx.getRegion({ success: resolve, fail: reject }) }) if (res.southwest.longitude > 90 && res.southwest.longitude < 180 && res.southwest.latitude > 0 && res.southwest.latitude < 90 && res.northeast.longitude > 90 && res.northeast.longitude < 180 && res.northeast.latitude > 0 && res.northeast.latitude < 90) { _this.northeast = res.northeast _this.southwest = res.southwest break } _this.sleep(1) } } 提醒下:我用的wepy的框架,所以如果没有用框架需要修改下 上述只是我自己解决的方法,可能没有追究原因很深。
小程序开发 map问题最近开发小程序遇到以下问题: 1 onLoad()方法中动态设置地图的中心点经纬度在手机(android,ios)有时候失效,有时候可以 2 同样是在onload方法中: map.moveToLocation()也是有时候生效,有时候不生效,但是通过地图上的控件点击触发map.moveToLocation()却是一定生效。 3 onLoadf方法中获取地图的视野范围,返回的经纬度却不一定是正确的,目前是一直获取直到获取正确为止才继续往下执行 希望有人能帮忙解解惑,真心不知道需要在地图的哪个时候去用这些方法了。
2018-08-15