微信小程序中如何使用ibeacon实现三点定位
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇"微信小程序中如何使用ibeacon实现三点定位"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2025年11月12日微信小程序中如何使用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; i 3){ //根据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安全错误
数据库的锁怎样保障安全
网络安全调查与研究
c#访问数据库的方式
数据库数据文件分离代码
app软件开发保密
本地服务器架设
处理上网与网络安全的关系
广告灯箱软件开发步骤
爬取手机数据库
北京华夏天空网络技术有限公司
百度网盘如何清除所有数据库
浟湙网络技术有限公司
如何选择doh服务器
我的世界服务器创始人布莱恩
服务器属于网络管理器吗
幼儿园网络安全教育宣传活动
第五人格角色服务器在哪
云服务器SCSI与ssd的区别
网络安全标准图
网络安全工程师的工作收获
保险业和互联网科技
软件开发学徒 零基础培养
我国网络安全法有哪些亮点
服务管理无法加载服务器列表
软件开发专业哪些学校比较好
服务器电脑改家用噪音大
网络安全5信息化调研
java简单软件开发
网络安全管理工作的指导思想
浪潮的服务器修改管理口
win10 网络安全策略