微信小程序原生组件使用

1、video组件使用

 <view class="live-video"><video id="myVideo" src="{{videoSrc}}" bindplay="onPlay" bindfullscreenchange="fullScreenChange" controls object- fit="contain">        </video></view>
data:{videoSrc:'https://jumeiyouhu.com/huawei_obs/product_info%2F20240509%2Fe44a7a3dfa5e459a897bf5466bbcf755.mp4',
},fullScreenChange(e) {console.log('全屏状态改变', e.detail.fullScreen);// 非全屏if (!e.detail.fullScreen) {videoContext.pause(); // 暂停视频播放}},onPlay() {console.log('视频开始播放');let videoContext = wx.createVideoContext('myVideo');videoContext.requestFullScreen();},

2、map组件使用 

这里把map封装成了一个公共组件jm-stroke

 <jm-stroke endLat="28.24689" endLng="112.962817" endLat="28.24689" startTitle="芙蓉区马王街道中电软件园" endTitle="谷山森林公园" startLat="28.142858" startLng="113.033865" cityCode="4031" />

 jm-stroke:

<view class="stroke-map"><map id="myMap" polyline="{{polyline}}" longitude="{{longitude}}" latitude="{{latitude}}" markers="{{markers}}"  ></map>
</view>
// components/jm-stroke/jm-stroke.js
const APP = getApp()
const MAP = require("../../utils/map")
Component({lifetimes: {attached() {this.onLoadMap()}},/*** 组件的属性列表*/properties: {endLat: {type: Number,value: null},endLng: {type: Number,value: null},startLat: {type: Number,value: null},startLng: {type: Number,value: null},cityCode: {type: Number,value: null},startTitle: {type: String,value: ''},endTitle: {type: String,value: ''},},/*** 组件的初始数据*/data: {baseUrl: APP.globalData.baseUrl,markers: [],latitude: '',longitude: '',polyline: ''},/*** 组件的方法列表*/methods: {onLoadMap() {const markers = []const markerStart = {id: 1,latitude: this.data.startLat,longitude: this.data.startLng,iconPath: this.data.baseUrl + '/images/start.png',width: 50,height: 50,callout: {content: this.data.startTitle,color: '#000',fontSize: 12,borderRadius: 10,bgColor: '#fff',padding: 10,display: 'ALWAYS',textAlign: 'center'}}const markerEnd = {id: 2,latitude: this.data.endLat,longitude: this.data.endLng,iconPath: this.data.baseUrl + "/images/end.png",width: 50,height: 50,callout: {content: this.data.endTitle,color: '#000',fontSize: 12,borderRadius: 10,bgColor: '#fff',padding: 10,display: 'ALWAYS',textAlign: 'center'}}markers.push(markerStart)markers.push(markerEnd)let includePoints = [{latitude: this.data.endLat,longitude: this.data.endLng},{latitude: this.data.startLat,longitude: this.data.startLng}]this.setData({markers,cityCode: this.data.cityCode,includePoints})this.direction('driving')this.direction('transit')},// 路线规划direction(mode) {let parmas = {key: 'BEBBZ-4PZKB-6JMU6-NCJ7F-QUIH7-GQFFS',from: this.data.startLat + ',' + this.data.startLng,to: this.data.endLat + ',' + this.data.endLng,mode}const THAT = thisif (mode === 'driving') {MAP.directionByDriving(parmas).then(res => {if (res.status === 0) {const result = res.resultconst route = result.routes[0]let coors = route.polyline,pl = [];let kr = 1000000;for (let i = 2; i < coors.length; i++) {coors[i] = Number(coors[i - 2]) + Number(coors[i]) / kr;}//将解压后的坐标放入点串数组pl中for (let i = 0; i < coors.length; i += 2) {pl.push({latitude: coors[i],longitude: coors[i + 1]})}THAT.setData({distance: (result.routes[0].distance / 1000).toString().slice(0, -2),latitude: pl[0].latitude,longitude: pl[0].longitude,// 绘制路线polyline: [{points: pl,color: '#58c16c',width: 6,borderColor: '#2f693c',borderWidth: 1}]})} else {wx.showToast({title: res.message,icon: 'none'})}})}}}
})

引用的.map组件方法:

const MAP = {// 驾车路线规划directionByDriving(data) {return new Promise((resolve, reject) => {wx.request({url: "https://apis.map.qq.com/ws/direction/v1/driving",data,header: {'content-type': 'application/json' // 默认值},success: (res) => {resolve(res.data)},fail: reject})})}
}module.exports = MAP

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

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

相关文章

ubuntu server 22.04 安装docker、docker-compose

ubuntu server 22.04安装docker有两种方式&#xff0c;第一种是使用ubuntu镜像源的软件包进行安装&#xff0c;第二种使用官方GPG密钥手动添加Docker存储库方式进行安装&#xff0c;两种方式都可以&#xff0c;但第二种方式略复杂&#xff0c;这里介绍第一种比较简单的安装方式…

轻松玩转Python文件操作:移动、删除

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; Python文件操作基础 在处理计算机文件时&#xff0c;经常需要执行如移动和删除等基本操作。Python提供了一些内置的库来帮助完成这些任务&#xff0c;其中最常用的就是os模块和shutil模块。这两个模块包含了许多与文…

无需公网IP、无需云服务器,异地组网实现远程直连NAS、游戏联机

手机图片、视频太多&#xff0c;存储空间不够用怎么办?出门在外无法直连家中NAS&#xff0c;远程访问NAS速度慢&#xff1f;自建私有云、多媒体服务器&#xff0c;如何多人远程共享媒体资源&#xff1f;幻兽帕鲁、我的世界、泰拉瑞亚…局域网游戏&#xff0c;想远程多人联机&a…

Chromium 调试指南2024 Windows11篇-VSCode必要依赖扩展(四)

1. 前言 为了在Visual Studio Code中更加方便地进行Chromium项目的开发和调试&#xff0c;我们需要安装一些必要的依赖扩展。本文将介绍如何安装中文语言包及其他依赖扩展&#xff0c;以提升我们在Visual Studio Code中的开发效率和使用体验。 2. 安装依赖扩展 在打开的Visu…

局域网手机端远程控制手机

局域网手机端远程控制手机 随着科技的进步和智能设备的普及&#xff0c;远程控制技术在日常生活与工作中的应用越来越广泛。其中&#xff0c;局域网内的手机端远程控制手机技术&#xff0c;因其便捷性和实用性&#xff0c;受到了众多用户的关注。本文将简要介绍该技术及其应用…

在装有centOS7的虚拟机上进行MySQL的安装部署

1.MySQL数据库介绍 1.开源的&#xff0c;跨平台的&#xff0c;社区版免费 2.支持多种存储引擎 3.支持多种主从复制 MySQL版本&#xff1a;5.6 5.7 8.0 https://www.mysql.com MySQL官网 2.安装MySQL5.7 1.配置MySQL仓库 2.安装MySQL服务端软件 3.启动MySQL服务 s…

3. 多层感知机算法和异或门的 Python 实现

前面介绍过感知机算法和一些简单的 Python 实践&#xff0c;这些都是单层实现&#xff0c;感知机还可以通过叠加层来构建多层感知机。 2. 感知机算法和简单 Python 实现-CSDN博客 1. 多层感知机介绍 单层感知机只能表示线性空间&#xff0c;多层感知机就可以表示非线性空间。…

Ubuntu20.04 设置路由器

1. 网络拓扑图 2. 查看网卡信息 ip a得出如下网卡信息&#xff0c;enp1s0和enp2s0为两个网卡名称&#xff0c;以及相关两个网卡的详细信息&#xff0c;不同设备的网卡名称可能不一样 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul…

使用python获取一下microsoft的搜索积分

主要使用的库是pyautogui PyAutoGUI接管了鼠标、键盘使用权,基本上完全照搬人的操作; 主要步骤如下: 登录edge浏览器打开搜索页面 找到搜索框的位置坐标使用pyautogui模拟点击搜索框模拟输入搜索文字模拟点击键盘enter键重复以上动作伪代码如下: import pyautogui import ti…

WM Transaction Code 仓库管理模块事务代码大全

1.1 LE-WM 仓库管理 Warehouse Management 仓库管理事务码 描述 LB01 Create Transfer Requirement 创建转储需求 LB02 Change transfer requirement 修改转储需求 LB03 Display Transfer Requirement 显示转储需求 LB10 TRs for Storage Type 按仓储类型的转储请求 …

推荐4个可用的github国内镜像

Github是全球最大的代码托管云平台&#xff0c;超过1亿用户在平台上分享代码及数据&#xff0c;深受生物信息学软件开发者的喜爱&#xff0c;并且现在发表文章&#xff0c;若涉及到代码&#xff0c;编辑还要求我们把代码及数据存放在github上&#xff0c;以便检查数据的真实性和…

frida hook java

代码例子 原函数&#xff1a; hook函数&#xff1a; if(Java.available){Java.perform(function(){var a Java.use("com.sankuai.waimai.foundation.utils.security.a");a.a.overload("java.lang.String","java.lang.String","long"…

【论文合集1】- 存内计算加速机器学习

本章节论文合集&#xff0c;存内计算已经成为继冯.诺伊曼传统架构后&#xff0c;对机器学习推理加速的有效解决方案&#xff0c;四篇论文从存内计算用于机器学习&#xff0c;模拟存内计算&#xff0c;对CNN/Transformer架构加速角度阐述存内计算。 【1】WWW: What, When, Where…

Java JVM 浅析

为什么要有JVMJVM是什么&#xff1f;JVM的工作流程和组成部分JVM规范和JVM实现JVM原理详解 带着以上问题&#xff0c;我将尝试对JVM作出一些简单的介绍。 一、JVM 简介 在90年代初&#xff0c;软件开发面临一个大问题&#xff0c;即不同的操作系统和硬件架构要求开发不同的版本…

Acrobat Pro DC 2023 for Mac:PDF处理的终极解决方案

Acrobat Pro DC 2023 for Mac为Mac用户提供了PDF处理的终极解决方案。它具备强大的文档处理能力&#xff0c;无论是查看、编辑还是创建PDF文件&#xff0c;都能轻松胜任。在编辑功能方面&#xff0c;Acrobat Pro DC 2023支持对文本、图像进行精准的修改和调整&#xff0c;还能添…

从RAID 0到RAID 10:全面解析RAID技术与应用

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Linux &#xff1a;从菜鸟到飞鸟的逆袭》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、前言 1、磁盘阵列简介 2、磁盘阵列诞生背景 3、硬件RA…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-14-主频和时钟配置

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

MPAndroidChart 详细使用 - BarChart

chart下面的方法 getDescription().setEnabled(boolean enabled);//设置描述是否显示 setPinchZoom(boolean enabled);//设置x轴和y轴能否同时缩放。默认是否 setScaleEnabled(boolean enabled);//是否支持缩放 setScaleXEnabled(boolean enabled);//启用/禁用x轴上的缩放 setS…

示波器基础1-带宽

数字示波器最重要的基本特征之一是其带宽&#xff0c;了解带宽及其对技术指标的影响对于选择合适的示波器非常有帮助。 这里我们对示波器带宽的一些基本方面做一简要介绍。 当我们谈到示波器的带宽时&#xff0c;重要的是要区分模拟带宽和数字带宽。模拟带宽主要受仪器模拟输入…

ppocrV4自带的标注软件的坑

1.默认读图方式是cv2.imread()&#xff0c;不支持中文路径&#xff0c;所以标注的文件夹最好不要有中中文 2.多边形标注方式有bug,标完之后导出识别结果为空。比如下面这张图&#xff0c;多边形标注完之后&#xff0c;再导出识别结果&#xff0c;在crop_img文件夹里面却没有。…