h5高德地图定位与Audio标签冲突

news2024/9/28 13:20:57

看到此文说明你也遇见此问题了,在ios设备使用(高德地图、百度地图)定位,如果在页面中有audio标签则会出现定位失败要么就是音频无法播放,此问题已和官方证实 是冲突问题,暂无解决方案。
因为高德地图也是基于原生定位开发的,原生定位navigator.geolocation与audio也会出现冲突问题,相关资料比较少

唯有腾讯地图在浏览器中不会出现此问题,但是H5使用腾讯地图嵌入小程序中,结果腾讯官方又把自己给限制了(在小程序中嵌入H5使用web腾讯api定位,请求地址被限制了),如果不需要嵌入小程序中,则忽略
以下解说针对嵌入小程序中做解决方案:

🚀 用两套定位模式进行区分

一、在微信浏览器环境中

在微信环境中我们采用weixin-js-sdk进行定位,也就是公众号的定位方式,需要开通公众号并进行对应配置
基于公众号定位,就不会出现与Audio冲突问题

  1. 下载jssdk依赖
cnpm i weixin-js-sdk --save
  1. 进行公众号配置
// 以下配置数据均来自后端,请求后端接口需要将url传给后端(location.href.split('#')[0]),目的是微信检测地址是否授权了
 wx.config({
  debug: false,
  appId: '',
  timestamp: '',
  nonceStr: '',
  signature: '',
  jsApiList: []
});
  1. 初始化及定位
 wx.ready(function () {
    wx.getLocation({
         type: 'gcj02',
          success: function (res) {
            console.log(res, '定位信息')
          },
          cancel: function () {
            showToast('定位授权失败');
          }
     });
 })
  1. 本地使用edge测试定位,上线后必须去公众号配置js安全域名,否则将无法使用
    在这里插入图片描述

二、在其他环境中

在其它环境中,我们采用腾讯地图定位,因为高德、百度在IOS浏览器中还是会出现与音频冲突问题

  1. 引入腾讯JS
// html中引入腾讯sdkJS,或者直接下载js当前页面引入
<script src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js "></script>
  1. 定位
 let geolocation = new qq.maps.Geolocation("腾讯地图Key", "test_map");
 let options = { timeout: 10000 };
  //精确定位
  geolocation.getLocation((point) => {
    console.log(point, '定位数据')
  }, (err) => {
   console.log("定位失败", err)
  }, options)

以上就是总体解决思路

1、微信环境中使用weixin-jssdk定位
2、其它环境中使用腾讯定位

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/853347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

51单片机学习--红外遥控(外部中断)

需要利用下面这个红外接收头&#xff0c;OUT口会发出红外信号对应的高低电平&#xff0c;由于发送的速度很快&#xff0c;所以需要把OUT引脚接在外部中断引脚上&#xff0c;当OUT一旦产生下降沿&#xff0c;马上进中断&#xff0c;这样响应会更及时。 外部中断引脚位于P3_2和P…

chatGPT能力培训,客户最关注的99个方向

前言&#xff1a; chatGPT的主要应用&#xff0c;包括文本生成、图像生成和图文关联三大核心方向&#xff1a; 用户的在实际的工作和学习过程中&#xff0c;最关心的内容&#xff0c;可以按照上述类别进行划分&#xff0c;我们总结了&#xff0c;相关的插头GPT能力培训的相关主…

工程管理系统简介 工程管理系统源码 java工程管理系统 工程管理系统功能设计em

工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff…

这些工具让音频文件格式转换更简单

小华是一位音乐爱好者&#xff0c;他平时喜欢下载并播放一些流行音乐。在这个过程中&#xff0c;他发现从不同平台上下载下来的音乐格式并不一样&#xff0c;而不同的播放平台也支持不同的音频格式。这令他感到烦恼&#xff0c;并希望通过一些音频格式转换器来帮助他解决音频格…

2023牛客暑期多校训练营7 I-We Love Strings (分块)

文章目录 题目大意题解参考代码 题目大意 题解 这题给定的 n n n 大小和 s i s_i si​ 的总长度有玄机。 我们发现&#xff1a; 400 2 0 2 40020^2 400202&#xff0c;对于每一组数据 n n n 的个数每增加一个&#xff0c; s i s_i si​ 的平均值就会减小。 处理相同的 l…

【MySQL】表中的一条数据在磁盘上是如何存放的?

文章目录 1 InnoDB行格式2 COMPACT行格式2.1 记录的额外信息2.2 记录的真实数据 3 Dynamic & Compressed4 VarChar(n)中n的最大取值&#xff1f; 1 InnoDB行格式 不同的存储引擎一般是为实现不同的特性来开发的&#xff0c;真实数据在不同存储引擎中的存放格式一般是不同的…

Sentieon | 每周文献-Long Read Sequencing(长读长测序)-第七期

长读测序系列文章-1 标题&#xff08;英文&#xff09;&#xff1a; PrecisionFDA Truth Challenge V2: Calling variants from short and long reads in difficult-to-map regions标题&#xff08;中文&#xff09;&#xff1a; PrecisionFDA真相挑战第二版&#xff1a;利用短…

React源码解析18(2)------ FilberNode,FilberRootNode结构关系

摘要 在上一篇&#xff0c;我们实现了通过JSX转换为ReactElement的方法&#xff0c;也看到了转换后React元素的结构。但是这个React元素&#xff0c;并不能很清楚的表达组件之间的关系&#xff0c;以及属性的处理。 所以在React内部&#xff0c;会将所有的React元素转换为Fil…

银行高效办公神技,看完跪了!

在现代社会中&#xff0c;银行作为金融体系的关键组成部分&#xff0c;不仅需要保障日常的业务运作&#xff0c;还必须在电力故障等紧急情况下保持连续性。 蓄电池作为一种关键设备&#xff0c;需要持续的监控和维护&#xff0c;以确保其可靠性和性能。因此&#xff0c;银行网点…

Salesforce 助理认证和管理员认证有何区别?备考者应如何选择?

随着Salesforce生态系统对专业人员的需求不断增长&#xff0c;获得相关认证对于寻求职业发展的从业者来说至关重要。 对于刚接触Salesforce平台的人而言&#xff0c;Salesforce助理认证和Salesforce管理员认证是两个比较基础的认证。这两个认证有什么区别呢&#xff1f;从业者…

python爬虫实战(1)--爬取新闻数据

想要每天看到新闻数据又不想占用太多时间去整理&#xff0c;萌生自己抓取新闻网站的想法。 1. 准备工作 使用python语言可以快速实现&#xff0c;调用BeautifulSoup包里面的方法 安装BeautifulSoup pip install BeautifulSoup完成以后引入项目 2. 开发 定义请求头&#xf…

国内数字藏品行业现状分析

国内数字藏品行业现状分析 NFT与国内数字藏品的区别 数字藏品是NFT的一种应用形式&#xff0c;国内数字藏品与NFT本质区别在于国内数字藏品不具备NFT的金融属性及社交属性,与虚拟货币划清了明确的界限。 国内数字藏品所处的发展阶段 发展阶段(成长期&#xff09;。 由于加密…

24届近5年中国计量大学自动化考研院校分析

今天给大家带来的是中国计量大学控制考研分析 满满干货&#xff5e;还不快快点赞收藏 一、中国计量大学 学校简介 中国计量大学是我国质量监督检验检疫行业唯一的一所本科院校&#xff0c;是一所计量标准质量检验检疫特色鲜明、多学科协调发展的普通高校&#xff0c;坐落于…

springboot添加swagger和knife简化接口测试

1、添加依赖 <!-- 接口测试包--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><!--排除swagger2的annotations和models依赖&#xff0c;然后再引入1.5.21版本的annotations和models…

Pr2022安装插件beat edit安装之后无法加载音乐怎么办?

你运行设置不对&#xff0c;安装好后试试管理员权限运行。 安装好插件后点击上方的窗口&#xff0c;然后再在里面找到扩展&#xff0c;继续点开里面有个BeatEdit&#xff0c;就是插件本身&#xff0c;点开。先选择一个加载音乐的选项&#xff0c;载入音乐先。这个时候可以按下…

一篇文章教会你什么是Linux进程控制

Linux进程控制 进程创建1.fork函数初识1.1那么fork创建子进程时&#xff0c;操作系统都做了什么呢&#xff1f;1.2 父子进程和CPU中的EIP&#xff08;指令指针&#xff09;之间存在一定的关系1.3 fork的常规用法有哪些&#xff1f;1.4 fork调用失败的原因有哪些&#xff1f; 2.…

TLS洪水攻击是什么,当网络加密成为一种负担怎么办?

今天&#xff0c;我们将深入研究一种典型的DDOS攻击类型——TLS洪水攻击&#xff0c;TLS&#xff08;传输层安全&#xff09;洪水攻击可以淹没大多数DDoS防护解决方案。因此如果您使用了错误的解决方案&#xff0c;意味着您的Web应用程序面临很大的风险&#xff01; 今天将由火…

云端同步、高效无界:5款免费的跨平台思维导图软件推荐!

思维导图是一种以图形化方式表示思想、概念或任务的方法&#xff0c;可以帮助用户梳理思维、提高记忆和理解。在工作中&#xff0c;思维导图可以用于会议记录、任务规划、项目管理等&#xff0c;帮助提高工作效率和团队协作能力&#xff1b;在学习中&#xff0c;思维导图可以用…

HA3 SQL样本实验:一种混合计算查询的全新样本解决方案

作者&#xff1a;陆唯一(芜霜) HA3&#xff08;对外开源代号&#xff1a;Havenask &#xff09;是阿里智能引擎团队自研的大规模分布式检索系统&#xff0c;广泛应用于阿里内部的搜索业务&#xff0c;是十多年来阿里在电商领域积累下来的核心竞争力产品。Ha3 SQL 是在原有Ha3引…

IDEA简单拷贝一份新项目记录

IDEA简单拷贝项目记录 拷贝后改项目名&#xff0c;然后iml 配置文件改项目名&#xff0c;然后 .idea 中的compiler.xml 里面的name标签改项目名。 就可以了