微信小程序将高德地图转为腾讯地图的自行车路线规划

news/2024/7/20 1:04:32 标签: 微信小程序, 小程序

小程序>微信小程序后台首页开发设置

相关文档

腾讯后台

在这里插入图片描述

小程序>微信小程序接入JDK

JDK腾讯地图文档

腾讯路线规划文档

核心代码

<map  id="myMap" ref="myMap" style="width: 100%; height: calc(100vh - 80px)"
          :latitude="latitude" :scale="scale" :longitude="longitude" @markertap="clickmarkertapfun"
          :polyline="polyline" :markers="covers" :circles="circles"></map>

///找到引入高德地图的地方替换JDK  替换key值
import amapFile from "../pluginsMap/qqmap-wx-jssdk1.2/qqmap-wx-jssdk.min.js";
// 更换腾讯地图
var myAmapFun = new amapFile({
  key: "腾讯地图key",
});

data() {
    return {
      detail: {},
      scale: 15, //地图缩放级别
      latitude: -1,
      longitude: -1,
      covers: [], //地图锚点
      coversList: [], //备用的锚点数据
      polyline: [], //路线规划容器
      circles: [],
      storeInfo: "",
    };
  },
//点击当前点位
clickmarkertapfun(e) {
      let id = e.detail.markerId;
      if (id <= 0) {
        return;
      }
      let storeInfo = this.coversList[id - 1];
      console.log(storeInfo);
      this.detail = {
        id: storeInfo.id,
        latitude: storeInfo.latitude,
        longitude: storeInfo.longitude,
      };
      console.log(this.detail);
      this.storeId = storeInfo.id;
      this.getMerchantBottomInfo();
      //起点
      let local = uni.getStorageSync(keys.mylocalhost);
      console.log("local >>", local);
      if (!local) return;
      uni.showLoading({
        title: "路线规划中",
      });
      myAmapFun.direction({
        mode: 'bicycling',
        from: {
          longitude: local.longitude,
          latitude: local.latitude
        },
        to: {
          longitude: this.detail.longitude,
          latitude: this.detail.latitude
        },
        success: function (res) {
          var ret = res;
          var coors = ret.result.routes[0].polyline, pl = [];
          //坐标解压(返回的点串坐标,通过前向差分进行压缩)
          var kr = 1000000;
          for (var i = 2; i < coors.length; i++) {
            coors[i] = Number(coors[i - 2]) + Number(coors[i]) / kr;
          }
          //将解压后的坐标放入点串数组pl中
          for (var i = 0; i < coors.length; i += 2) {
            pl.push({ latitude: coors[i], longitude: coors[i + 1] })
          }
          // console.log(pl, '你好')
          that.polyline = [
            {
              points: pl,
              color: "#0091ff",
              width: 6,
            },
          ];
          uni.hideLoading();
        },
      });
    },


http://www.niftyadmin.cn/n/5431235.html

相关文章

SQLiteC/C++接口详细介绍之sqlite3类(八)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;七&#xff09; 下一篇&#xff1a; SQLiteC/C接口详细介绍之sqlite3类&#xff08;八&#xff09;&#xff08;暂未发表&#xff09; 24.sqlite3_cr…

Adobe PDF背景设置护眼模式,缓解眼部疲劳

一、背景 在用Adobe PDF看论文时&#xff0c;默认的白色背景看久了&#xff0c;眼睛会特别疲劳&#xff0c;下面介绍如何设置背景为护眼模式。 二、设置PDF为护眼模式 使用Adobe Acrobat Pro DC打开任意PDF文件&#xff0c;在上方工具栏选择“编辑”&#xff0c;在下拉菜单栏…

【论文阅读笔记】Attention Is All You Need

1.论文介绍 Attention Is All You Need 2017年 NIPS transformer 开山之作 回顾一下经典&#xff0c;学不明白了 Paper Code 2. 摘要 显性序列转导模型基于包括编码器和解码器的复杂递归或卷积神经网络。性能最好的模型还通过注意力机制连接编码器和解码器。我们提出了一个新…

百度飞桨大模型训练营:人工智能与大语言模型

文章目录 生成式AI、提示词工程和零代码应用开发人工智能概念机器学习深度学习 大语言模型大语言模型为什么大大语言模型为什么通用大语言模型的灵魂Transformer之前Transformer的优势 Transformer内部原理第一步——数据预处理第二步——编码器第三步——解码器第四步——Line…

CPU、GPU、IPU、NPU、TPU、LPU、MCU、MPU、SOC、DSP、FPGA、ASIC、GPP、ECU、

CPU&#xff1a; 中央处理器&#xff08;Central Processing Unit&#xff09;是一块超大规模的集成电路&#xff0c;是一台计算机的运算核心&#xff08;Core&#xff09;和控制核心&#xff08; Control Unit&#xff09;。 它的功能主要是解释计算机指令以及处理计算机软件…

Vue3全家桶 - Vue3 - 【2】声明响应式数据(ref + reactive + toRef + toRefs)

声明响应式数据 一、 组合式API 1.1 ref() ref() 函数&#xff0c;可以创建 任何数据类型 的 响应式数据&#xff1b;&#x1f53a;注意&#xff1a; 当值为 对象类型 时&#xff0c;会用 reactive() 自动转换它的 .value&#xff1b; ref 函数的内部实现依赖于 reactive 函…

Python面试笔记

Python面试笔记 PythonQ. Python中可变数据类型与不可变数据类型&#xff0c;浅拷贝与深拷贝详解Q. 解释什么是lambda函数&#xff1f;它有什么好处&#xff1f;Q. 什么是装饰器&#xff1f;Q. 什么是Python的垃圾回收机制&#xff1f;Q. Python内置函数dir的用法&#xff1f;Q…

【第四章】简单网络实现手写数字分类-网络架构

问题 定义了神经网络后&#xff0c;让我们回到手写识别领域。我们可以将识别手写数字的问题分为两个子问题。首先&#xff0c;我们希望有一种方法将包含多个数字的图像分解为一系列单独的图像&#xff0c;每个图像包含一个单独的数字。例如&#xff0c;我们希望分解图像为六个…