首页 > 编程语言 >微信小程序获取当前订单+导航

微信小程序获取当前订单+导航

时间:2024-10-18 15:43:05浏览次数:7  
标签:console log color 微信 longitude 订单 res latitude 导航

map.js

// 拒绝授权后,弹框提示是否手动打开位置授权
export function openConfirm() {
    return new Promise((resolve, reject) => {
        uni.showModal({
            title: "请求授权当前位置",
            content: "我们需要获取地理位置信息,为您提供导航",
            success: (res) => {
                if (res.confirm) {
                    uni.openSetting().then((res) => {
                        if (res[1].authSetting["scope.userLocation"] === true) {
                            resolve(); // 打开地图权限设置
                        } else {
                            reject();
                        }
                    });
                } else if (res.cancel) {
                    reject();
                }
            },
        });
    });
}
// 彻底拒绝位置获取
export function rejectGetLocation() {
    uni.showToast({
        title: "你拒绝了授权,无法获得周边信息",
        icon: "none",
        duration: 2000,
    });
}


//进行经纬度转换为距离的计算
export function Rad(d) {
    return d * Math.PI / 180.0; //经纬度转换成三角函数中度分表形式。
}
/*
             计算距离,参数分别为第一点的纬度,经度;第二点的纬度,经度
             默认单位km
            */
export function getMapDistance(lat1, lng1, lat2, lng2) {
    var radLat1 = Rad(lat1);
    var radLat2 = Rad(lat2);
    var a = radLat1 - radLat2;
    var b = Rad(lng1) - Rad(lng2);
    var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
        Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
    s = s * 6378.137; // EARTH_RADIUS;
    s = Math.round(s * 10000) / 10000; //输出为公里
    //s=s.toFixed(2);
    return s;
}
//计算距离
//   初次位置授权
export function getAuthorize() {
    return new Promise((resolve, reject) => {
        uni.authorize({
            scope: "scope.userLocation",
            success: () => {
                resolve(); // 允许授权
            },
            fail: () => {
                reject(); // 拒绝授权
            },
        });
    });
}
//打开地图
export function openMap(lon, lat) {
    console.log("获取经纬度ssssfff", lon, lat);
    //打开地图,并将门店位置传入
    uni.getLocation({
        success: res => {
            // res.latitude=lat;
            // res.longitude=lon;
            console.log('location success', parseFloat(lat), parseFloat(lon))
            uni.openLocation({
                latitude: parseFloat(lat),
                longitude: parseFloat(lon),
                scale: 18
            })
        }

    })
}

 

主要看onshow和getLocationInfo

 

<!-- 服务计划 -->
<template>
    <view>
        <order-box v-for="(order, index) in orders" :key="index" :serviceName="order.name" :distance="order.distance"
            :name="order.contactPerson" :phone="order.contact" :startTime="order.createTime"
            :gdnumber="order.workOrderId" :fwtype="order.serviceType" :address="order.address" :buttons="order.buttons"
            :orderIndex="index" @invokeMethod="invokeMethod" @navigateToDetail="navigateToDetail" />

        <view>
            <!-- 普通弹窗 -->
            <uni-popup ref="popup" background-color="#fff">
                <view class="popup-content padding" :class="{ 'popup-height': type === 'left' || type === 'right' }">
                    <view class="text" style="text-align: center;width: 50vw;font-size:16px;font-weight: bold;">开始服务
                    </view>
                    <!-- 表单部分 -->
                    <view class="content margin-top">

                        <!-- 图片上传 -->
                        <view class="form-item">
                            <view class="label" style="width:30%;">图片</view>
                            <view class="image-upload">
                                <img v-if="image" :src="image" alt="Uploaded Image" />
                                <view v-else class="image-placeholder" @click="uploadImage">

标签:console,log,color,微信,longitude,订单,res,latitude,导航
From: https://www.cnblogs.com/le-cheng/p/18474416

相关文章

  • 微信小程序 触底加载更新 虚拟列表渲染
    <wxsmodule='filter'>varincludesList=function(list,currentIndex){if(list){returnlist.indexOf(currentIndex)>-1}}module.exports.includesList=includesList;</wxs><scroll-viewstyle='......
  • [瑞吉外卖]-08订单支付
    地址簿管理需求分析地址簿,指的是移动端消费者用户的地址信息,用户登录成功后可以维护自己的地址信息。同一个用户可以有多个地址信息,但是只能有一个默认地址。用户的地址信息会存储在addressbook表,即地址表中。导入代码/***地址簿*/@DatapublicclassAddress......
  • python+flask框架的高校计算机服务微信小程序设计与开发小程序18(开题+程序+论文) 计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着移动互联网技术的迅猛发展,微信小程序作为一种轻量级的应用形式,已广泛应用于各行各业。高校作为教育和科研的重要场所,其计算机服务需求......
  • uniapp开发微信小程序之搜索联想、高亮显示(附demo)
    小程序比较常见的功能就是搜索,搜索的一个体验点就联想、高亮显示,惯例还是先看效果。实现效果实现思路1)uni-search-bar搜索框,监听input事件,触发搜索联想2)调用后台接口,根据分词查询数据(TopN),返回前端数据3)前端利用正则表达式,匹配数据中的分词,添加高亮样式4)v-html标......
  • 免费送源码:Javat微信小程序 基于springboot高校教学评价平台 计算机毕业设计原创定制
    摘 要随着中国经济的飞速增长,消费者的智能化水平不断提高,许多智能手机和相关的软件正在得到更多的关注和支持。其中,微信小程序的高校教学评价平台更是深得消费者的喜爱,它的出现极大地改善了消费者的生活质量,同时,它还创造了一种快捷、有效的数据信息管理网络平台,让消费者更......
  • Vue3 - 详细实现移动端H5网页调用摄像头拍照功能,微信公众号网页h5页面打开本地摄像头
    前言PC网站端,请访问这篇文章。在vue3手机移动端开发中,详解H5页面/微信公众号网页调用浏览器摄像头并拍照完整示例,在手机浏览器上开启摄像头并拍照上传服务器或保存到本地功能(实时预览使用图片临时路径或base64数据),切换转换前置摄像头与后置摄像头,vue3手机H5打开摄像......
  • 基于微信平台的房屋租赁公司电费管理系统 (案例分析)-附源码
    摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,房屋租赁公司电费管理系统被用户普遍使用,为方便用户能够可以随时进行房屋租赁公司电费的数据信息管理,特开发了基于微信平......
  • 微信小程序的校园二手物品交易平台设计与实现
    文章目录前言......
  • 麻将计分器微信小程序的开发
    前言最近朋友推荐了一个计分的小程序,但是这个小程序不仅打开有广告,各个页面都植入了广告,用起来十分不适。于是我就心里暗自下定决心,一定要撸一个没有广告的小程序。一周后,这个小程序发布了。欢迎大家参观和使用我的小程序!小程序名称:MahjongScorer思路1.注册,获取头像和昵称。......
  • 2025计算机专业基于微信小程序的毕业设计选题参考【题目新颖】
    对于计算机专业基于微信小程序的毕业设计选题,追求新颖性是关键。以下是一些建议的选题,它们结合了当前的技术趋势和社会需求,旨在提供具有创新性和实用性的项目方向:1.基于微信小程序的智能健康管理系统 结合物联网设备,如智能手环、体重秤等,收集用户的健康数据。 通过小程......