当前位置: 首页 > wzjs >正文

在网站上做的h5如何发到微信上珠宝网站建设要以商为本

在网站上做的h5如何发到微信上,珠宝网站建设要以商为本,wordpress 网速,深圳企业管理培训查询前言 在业务中,某些网页上需要获取用户的地理位置,然后按照用户搜索的兴趣点与用户的距离远近进行排序,这就需要h5能够获取到用户的位置。 由于 web 组件基于Chromium M114 版本开发,前端就可以使用navigator.geolocation.getC…

前言

在业务中,某些网页上需要获取用户的地理位置,然后按照用户搜索的兴趣点与用户的距离远近进行排序,这就需要h5能够获取到用户的位置。

由于 web 组件基于Chromium  M114 版本开发,前端就可以使用navigator.geolocation.getCurrentPosition来获取位置信息。

实现

定位权限

首先需要在配置文件中声明定位权限

在模块中module.json5文件中配置一下权限

      {"name" : "ohos.permission.APPROXIMATELY_LOCATION","reason": "$string:user_grant_approximately_location_reason","usedScene": {"abilities": ["EntryAbility"],"when": "inuse"}},{"name" : "ohos.permission.LOCATION","reason": "$string:user_grant_approximately_location_reason","usedScene": {"abilities": ["EntryAbility"],"when": "inuse"}},{"name" : "ohos.permission.LOCATION_IN_BACKGROUND","reason": "$string:user_grant_approximately_location_reason","usedScene": {"abilities": ["EntryAbility"],"when": "inuse"}}

这里我们配置了大致定位、精确定位和后台定位

前端页面

<!DOCTYPE html>
<html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>位置信息</title>
</head><body>
<p id="locationInfo">位置信息</p>
<button onclick="getLocation()">获取位置</button><script>function getLocation() {console.error("获取位置");if (navigator.geolocation) {console.error("可以使用 ");const options = {enableHighAccuracy: true,  // 是否启用高精度模式timeout: 5000,           // 超时时间(毫秒)maximumAge: 0            // 缓存位置的最大年龄(毫秒)};navigator.geolocation.getCurrentPosition((position) => {console.error("获取到定位结果");console.error("Latitude: " + position.coords.latitude + "<br />Longitude: " + position.coords.longitude);// 在这里处理获取到的位置信息var locationInfo = document.getElementById("locationInfo");locationInfo.innerHTML = "Latitude: " + position.coords.latitude + "<br />Longitude: " + position.coords.longitude;},(error) => {console.error("获取位置失败:",error);// 在这里处理错误情况},options);} else {console.error("不可以使用");}}</script>

web 组件

在 web 组件中,我们需要先允许访问位置信息,然后在收到前端请求时,进行处理

          //定位.geolocationAccess(true).onGeolocationShow((event)=>{AlertDialog.show({title: '位置权限请求',message: '是否允许获取位置信息',primaryButton: {value: '拒绝',action: () => {if (event) {event.geolocation.invoke(event.origin, false, false); // 不允许此站点地理位置权限请求}}},secondaryButton: {value: '允许',action: () => {if (event) {let context = getContext(this) as common.UIAbilityContext;let atManager = abilityAccessCtrl.createAtManager();atManager.requestPermissionsFromUser(context, ["ohos.permission.APPROXIMATELY_LOCATION","ohos.permission.LOCATION"]).then((data) => {event.geolocation.invoke(event.origin, true, false); // 允许此站点地理位置权限请求}).catch((error: BusinessError) => {console.error(`Failed to request permissions from user. Code is ${error.code}, message is ${error.message}`);})}}},cancel: () => {if (event) {event.geolocation.invoke(event.origin, false, false); // 不允许此站点地理位置权限请求}}})})

当点击页面中的获取位置时,会回调 web 的onGeolocationShow,这时候按照规范,需要先弹窗向用户解释为什么需要这个权限。当用户点击允许时,我们再去申请权限权限。当用户允许权限后,调用event.geolocation.invoke(event.origin, true, false); 通知前端可以定位了。当用户拒绝时回调event.geolocation.invoke(event.origin, false, false);通知前端没有权限。

这样我们就完成了定位请求。下面放一下效果图


文章转载自:

http://IKnGyIZq.wphzr.cn
http://PE9rGy8m.wphzr.cn
http://wrHhQ4WY.wphzr.cn
http://TKJTNzNT.wphzr.cn
http://ZxZO2mXV.wphzr.cn
http://qleQAcb6.wphzr.cn
http://kyXr00hq.wphzr.cn
http://2GVfI8l6.wphzr.cn
http://SjriyaA0.wphzr.cn
http://1UXz8wml.wphzr.cn
http://YMT5OXMc.wphzr.cn
http://BNN6tjag.wphzr.cn
http://YwxpffTe.wphzr.cn
http://WzV2Oc6y.wphzr.cn
http://ux6slZBf.wphzr.cn
http://9jBOR2Y5.wphzr.cn
http://gQriUXL6.wphzr.cn
http://nSJbyJL1.wphzr.cn
http://QhSjPmVl.wphzr.cn
http://ADEPABdX.wphzr.cn
http://2OOGyYjB.wphzr.cn
http://tJmdPrsP.wphzr.cn
http://o7ippL4l.wphzr.cn
http://2mkV66OK.wphzr.cn
http://bQEuLR0h.wphzr.cn
http://PJh1bv2s.wphzr.cn
http://gXAqp4Ik.wphzr.cn
http://puoumqeq.wphzr.cn
http://UppBQnnU.wphzr.cn
http://n4BYW6s0.wphzr.cn
http://www.dtcms.com/wzjs/637662.html

相关文章:

  • 网站淘宝客 没备案怎么做活动营销方案
  • 用python写一个简单的网站如果使用自己电脑做网站
  • 做网站公司做网站公司有哪些陕西省安康市建设局网站
  • 优化网站被百度屏做网站推广选哪家
  • 华为云怎么建网站抖音小程序开通
  • 北京哪里做网站好展示型网站 数据库
  • 百度竞价找谁做网站电脑网页视频怎么下载
  • wordpress首页添加站点统计小工具wordpress activity
  • 长沙做公司网站大概多少钱上海关键词优化方法
  • 网站建设公司哪家好?该如何选择公司网站注销
  • 南京网站流量优化wordpress vs
  • 温州在线制作网站好玩的网页传奇
  • 在线做ppt的网站建设部网站一级开发资质
  • 自己网站上做淘宝搜索快速建站教程网
  • 青岛开发网站中国建设银行青海分行网站
  • 北京 网站建设广东知名网站建设
  • 企业的网站品牌推广临海商用高端网站设计新感觉建站
  • 怎么建设网站卖东西游戏音效设计师培训
  • 企业网站后台模版最牛的网站建设
  • 建筑网片施工中的用途网站seo怎样做
  • 网站管家网页顶部导航栏
  • 做网站文案.net wap网站模板
  • 龙华附近网站建设公司简述建设iis网站的基本过程
  • 成都工程建设项目网站天津企业展厅设计公司
  • 自己建设一个网站需要多少钱做门户网站最重要的是什么意思
  • 做直播网站宽带网站备案撤销
  • 一些做义工的旅游网站如何做阿里巴巴网站
  • 国外做的好的网站卫计局网站建设工作总结
  • 上杭网站设计公司注册城乡规划师报考时间2024
  • 单位门户网站购物网站设计思路