微信小程序中如何使用ibeacon实现三点定位
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇"微信小程序中如何使用ibeacon实现三点定位"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2025年02月01日微信小程序中如何使用ibeacon实现三点定位
这篇"微信小程序中如何使用ibeacon实现三点定位"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"微信小程序中如何使用ibeacon实现三点定位"文章吧。
代码如下:
var app = getApp() Page({ data: { motto: 'Hello World', openBLE:'打开蓝牙设备', startBLEDiscovery:'初始化蓝牙设备', startBLEDevices:'目标定位', reStartSearchBLE:'重置蓝牙', startSearchBLE:'默认空', userInfo: {}, deviceId: '', searchFlag:true, deviceRSSI:'', deviceName:'', deviceId:[], advertisServiceUUIDs: [], advertisData:[], canvasPointX:'', canvasPointY:'', avatarUrl:'../index/bg-image.jpg', showPosition:'' }, //事件处理函数 bindViewTap: function() { wx.navigateTo({ url: '../logs/logs' }) }, onLoad: function () { var that = this //调用应用实例的方法获取全局数据 //that.setData({ deviceId: opt.deviceId }) app.getUserInfo(function(userInfo){ //更新数据 that.setData({ userInfo:userInfo }) //判断兼容性 if (wx.openBluetoothAdapter) { //打开蓝牙适配器,如果没有打开 showtoast wx.openBluetoothAdapter({ success: function(res){ // success //获取本机的蓝牙适配器状态 wx.getBluetoothAdapterState({ success: function(res){ // success that.setData({ searchFlag:true }) }, fail: function(res) { // fail that.setData({ searchFlag:false }) }, complete: function(res) { // complete } }) }, fail: function(res) { // fail 本机是否已经打开蓝牙设备 wx.showToast({title:'请打开本机蓝牙设备,重新扫码', duration:10000 }) }, complete: function(res) { // complete } }) } else { // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示 wx.showModal({ title: '提示', content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。' }) } }) }, startBLEDevices: function(){ var that = this wx.startBluetoothDevicesDiscovery({ services: [], success: function(res){ //获取本机蓝牙设备状态 // success that.setData({ showPosition:setInterval(that.devicesFunc,1000) }) }, fail: function(res) { // fail }, complete: function(res) { // complete } }) }, // startBLEDevices: function(){ // var that = this // that.setData({ // showPosition:setInterval(that.devicesFunc,1000) // }) // }, devicesFunc: function(){ var that = this wx.getBluetoothDevices({ success: function(res){ // console.log(res); var arrayRSSI = new Array(); var arraydeviceName = new Array(); var arraydeviceId = new Array(); // var arrayUUIDs = new Array(); var arrayadvertisData = new Array(); var pointADistance = ''; var pointBDistance = ''; var pointCDistance = ''; for(var i = 0; i3){ //根据arrayRSSI进行信号强弱排序.距离越远rssi值越小 for(var i = 0 ; i < arrayRSSI.length ; i ++){ for(var j = i+1 ; j< arrayRSSI.length ; j++){ if(arrayRSSI[i] 0 && pointDY > 0){ wx.showToast({title:'欢迎进入25楼craft', duration:4000 }); } that.setData({ canvasPointX:pointDX, canvasPointY:pointDY }) //创建画布 //计算坐标点在规定canvas上的位置显示 var context = wx.createCanvasContext(); context.setStrokeStyle("#00ff00"); //a,b,c,d,e,f a,b起始坐标,c半径,d,e起始和终止角度 context.arc(that.data.canvasPointX*30,that.data.canvasPointY*30,5,0,2*Math.PI); context.fill(); wx.drawCanvas({ canvasId: 'firstCanvas', actions: context.getActions() // 获取绘图动作数组 }) wx.showModal({title:'X轴:'+pointDX+'Y轴:'+pointDY, duration:5000 }); //开始网络请求 wx.request({ url: 'http://craftww.cn/weixinIbeacon/index.php', data: {}, method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT // header: {}, // 设置请求的 header success: function(res){ // success }, fail: function(res) { // fail }, complete: function(res) { // complete } }) }else{ wx.showToast({title:'正在搜索...', duration:1000 }) 开始网络请求 wx.request({ url: 'http://craftww.cn/weixinIbeacon/index.php', data: {}, method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT // header: {}, // 设置请求的 header success: function(res){ // success }, fail: function(res) { // fail }, complete: function(res) { // complete } }) } }, fail: function(res) { // fail }, complete: function(res) { // complete } }) } , //动态显示 createList: function(thisName){ var that = this that.setData({ array:[{deviceDistance:"1"},{deviceDistance:"1"},{deviceDistance:"1"},{deviceDistance:"1"},{deviceDistance:"1"}] }) }, reStartSearchBLE: function(){ var that = this //清除本地数据缓存 wx.stopBluetoothDevicesDiscovery({ success: function(res){ // success }, fail: function(res) { // fail }, complete: function(res) { // complete } }) wx.clearStorageSync(); clearInterval(that.data.showPosition); console.log(that.data.showPosition); // that.context.clearRect(0,0,canvas.width,canvas.height); //断开蓝牙 var that = this wx.closeBluetoothAdapter({ success: function(res){ // success console.log('重置成功'); //打开蓝牙适配器,如果没有打开 showtoast wx.openBluetoothAdapter({ success: function(res){ // success //获取本机的蓝牙适配器状态 wx.getBluetoothAdapterState({ success: function(res){ // success }, fail: function(res) { // fail }, complete: function(res) { // complete } }) }, fail: function(res) { }, complete: function(res) { // complete } }) }, fail: function(res) { // fail }, complete: function(res) { // complete } }) } //zheli})
以上就是关于"微信小程序中如何使用ibeacon实现三点定位"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
蓝牙
内容
设备
本机
程序
定位
适配器
适配
数据
版本
状态
文章
知识
篇文章
网络
提示
起始
三个
上体
事件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发投标文件技术
三七网络安全
两服务器数据库同步
纯真IP数据库技术
网络安全火灾应急演练小结
1802网络安全电力
中兴南京软件开发一部
数据库的一致性怎么理解
网络安全公司实习
vb软件开发安卓
徐州网站服务器价格
网络为什么总是不能连接服务器
实名认证信息是哪个数据库的
浙江什么是网络技术服务工程
惠州支付软件开发咨询
软件开发项目的优缺点
足球规则中的数据库
计算机网络技术课程教学背景
监控服务器地址是多少
电脑win7数据库如何查询
郴州市安卓软件开发工资多少
数据库的一致性怎么理解
网络安全法规贯彻落实情况
1)无线通信网络安全
数据库实验 安全性控制
北京项目软件开发靠谱吗
重复数据库损坏怎么修复
低价服务器托管
三级数据库画图工具
河南科之源互联网科技有限公司