找到刀郎《罗刹海市》--微信小程序调用地图--【小程序花园】

news2024/9/29 3:28:12

微信目录集链接在此:

详细解析黑马微信小程序视频–【思维导图知识范围】难度★✰✰✰✰

不会导入/打开小程序的看这里:参考

让别人的小程序长成自己的样子-更换window上下颜色–【浅入深出系列001】

文章目录

  • 本系列校训
  • 学习资源的选择
  • 地图在小程序里的样子
  • 必备的理论知识
    • 百度地图
    • 腾讯地图
    • 坐标拾取器 - 腾讯地图
    • 地图坐标拾取器使用
    • map组件
      • 基础内容 view/text/image/button
  • 打开资源项目
    • 关于我们页面
    • 可以秒杀90%初学者的技能。
  • 提高一下
    • 验证代码
  • 配套资源
  • 作业:

本系列校训

用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干!
只要自己有电脑,前后项目都能搞!N年苦学无人问,一朝成名天下知!

学习资源的选择

黑马程序员微信小程序开发前端教程_零基础玩转微信小程序(130集)
https://www.bilibili.com/video/BV1nE41117BQ/
目录如下:

P303-微信小程序的环境准备08:21 00:00 到 05:16 获取APPid, 后面下载开发工具。

地图在小程序里的样子

在这里插入图片描述
《聊斋志异之罗刹海市》原文及译文
“原文: 马骥字龙媒,贾人子,美丰姿,少倜傥,喜歌舞。辄从梨园子弟,以锦帕缠头,美如好女,因复有“俊人”之号。十四岁入郡庠,即知名。父衰老罢贾而归,谓生曰:“数卷书,饥不可煮,寒不可衣,吾儿可仍继父贾。”马由是稍稍权子母。从人浮海,为飓风引去,数昼夜至一都会。其人皆奇丑,见马至,以为妖,群哗而走。马初见其状,大惧,迨知国中之骇己也,遂反以此欺国人。遇饮食者则奔而往,人惊遁,则啜其余。久之入山村,其间形貌亦有似人者,然褴褛如丐。

不管是小程序的社交圈还是打卡都是特别的实用。
在这里插入图片描述

必备的理论知识

百度地图

百度旗下出行类应用软件
百度地图(Baidu Maps)自2005年上线以来,秉持“科技让出行更简单”的品牌使命,以"科技"为手段不断探索创新,已经发展成为国内领先的互联网地图服务商。百度地图具备全球化地理信息服务能力,包括智能定位、POI检索、路线规划、导航、路况、实时公交等。伴随着AI时代的到来,作为“新一代人工智能地图”,百度地图90%数据生产环节已实现AI化 [1] ,智能语音助手累计用户数突破5亿 [2] ,并上线全球首个地图语音定制功能,让用户出行更具个性化。
百度地图覆盖POI 达1.8亿 [29] , 道路里程超1000万公里 [3] ,刷新了行业新高度。同时,百度地图是业内拥有丰富全景数据的地图服务商,街道全景已覆盖国内95%的城市,全景照片突破20亿张 [2] 。2022年1月,百度地图全国商场店铺覆盖率达98%。 [45] 截至2022年9月,百度地图行业首创的车位级导航已落地全国20余座城市 [47] 。
2023年5月,百度地图北⽃⾼精定位⽇调⽤量超5000亿次,已攻克隧道、地下/室内、城市车道等多个导航极端场景。 [50] [53]

腾讯地图

腾讯公司推出的互联网地图软件
腾讯地图,前称SOSO地图。这是由腾讯公司推出的一种互联网地图服务。腾讯地图拥有导航地图甲级测绘资质和互联网地图服务甲级资质。 [8-9]
腾讯地图APP为用户提供包括智能路线规划、精准导航、实时路况、聚合打车、公共出行等位置和出行相关服务,并提供购物、美食等周边生活服务。腾讯地图已接入2000多套室内地图,覆盖各大机场、火车站和主流商场。支持国内200多个城市的实时路况刷新,让用户出行生活更加高效。

坐标拾取器 - 腾讯地图

腾讯地图开放平台为各类应用厂商和开发者提供基于腾讯地图的地理位置服务和解决方案;有针对Web应用的JavaScript API, 适合手机端Native APP的各种SDK, WebService接口和各类.
这里要注意一下,在小程序里调用百度地图是有少许的位置偏差的,不也过没有太远的距离,影响不大,但是终究还是没有腾讯地图精准,当然了,也有解决方案
微信小程序腾讯地图坐标和百度地图坐标偏差纠正的解决


// 百度经纬度转腾讯经纬度
function convert2TecentMap(lng, lat) {
  if (lng == '' && lat == '') {
    return {
      lng: '',
      lat: ''
    }
  }
  var x_pi = 3.14159265358979324 * 3000.0 / 180.0
  var x = lng - 0.0065
  var y = lat - 0.006
  var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi)
  var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi)
  var qqlng = z * Math.cos(theta)
  var qqlat = z * Math.sin(theta)
  return {
    lng: qqlng,
    lat: qqlat
  }
}

// 腾讯经纬度转百度经纬度
function TxMapTransBMap(lng, lat) {
    let x_pi = 3.14159265358979324 * 3000.0 / 180.0;
    let x = lng;
    let y = lat;
    let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
    let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
    let lngs = z * Math.cos(theta) + 0.0065;
    let lats = z * Math.sin(theta) + 0.006;
    return {
      lng: lngs,
      lat: lats
    };
  }

所以这只是一个转换,那么本文当然就以腾讯地图举例了。

地图坐标拾取器使用

在这里插入图片描述
我愿意陪你翻过雪山穿越戈壁
可你不辞而别还断绝了所有的消息
心上人我在可可托海等你
他们说你嫁到了伊犁
是不是因为那里有美丽的那拉提
还是那里的杏花
才能酿出你要的甜蜜
毡房外又有驼铃声声响起
我知道那一定不是你
再没人能唱出像你那样动人的歌曲
再没有一个美丽的姑娘让我难忘记
所以,直接在地图上查到《伊犁》
取到GPS坐标,当前坐标(43.942406,81.265869)

map组件

官方文档在此https://developers.weixin.qq.com/miniprogram/dev/component/map.html
map
基础库 1.0.0 开始支持,低版本需做兼容处理。

微信 Windows 版:支持

微信 Mac 版:支持

相关文档: wx.createMapContext

渲染框架支持情况:Skyline (使用最新 Nighly 工具调试)、WebView

功能描述
地图 v2.7.0 起支持同层渲染。

map组件提供了地图展示、交互、叠加点线面及文字等功能,同时支持个性化地图样式,可结合地图服务 API 实现更丰富功能。

地图个性化样式组件
地图个性化样式组件是腾讯位置服务为开发者提供的地图高级能力,开发者可以在法律允许的范围内,定制背景面、背景线、道路、POI等多种地图元素,灵活地设计心仪的地图样式。

购买该能力后,您可以在MP平台「管理->付费管理->概览->地图个性化样式->去使用」中创建配置您的地图个性化样式,您可以选择我们提供的基础及高级模版,也可以通过在线编辑平台,对多种地图元素的样式进行自定义设置,以满足在不同场景下的个性化需求。

在这里插入图片描述

基础内容 view/text/image/button

官方文档在此 https://developers.weixin.qq.com/miniprogram/dev/component/text.html

(略…可以参看本博主其它系列)

打开资源项目

在这里插入图片描述
在这里插入图片描述
小程序的下方可以直接放一个地图组件,
然后,定位到伊犁

关于我们页面

<!--pages/our/index.wxml-->
<view class="container">
  <view class="shop_image">
    <image src="{{src}}"></image>
  </view>
  <view class="about_us">
    <text>《聊斋志异之罗刹海市》原文及译文</text>
    <text decode="{{true}}">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
“原文: 马骥字龙媒,贾人子,美丰姿,少倜傥,喜歌舞。辄从梨园子弟,以锦帕缠头,美如好女,因复有“俊人”之号。十四岁入郡庠,即知名。父衰老罢贾而归,谓生曰:“数卷书,饥不可煮,寒不可衣,吾儿可仍继父贾。”马由是稍稍权子母。从人浮海,为飓风引去,数昼夜至一都会。其人皆奇丑,见马至,以为妖,群哗而走。马初见其状,大惧,迨知国中之骇己也,遂反以此欺国人。遇饮食者则奔而往,人惊遁,则啜其余。久之入山村,其间形貌亦有似人者,然褴褛如丐。
    </text>
  </view>
  <view class="addr_phone">
    <text decode="{{true}}">公司地址&nbsp;&nbsp;&nbsp;&nbsp;</text>
    <text>伊犁 </text>
  </view>
  <view class="addr_phone">
    <text decode="{{true}}">公司接待&nbsp;&nbsp;&nbsp;&nbsp;</text>
    <text>美丽的那拉提</text>
  </view>
  <view class="contaxt_info">
    <view class="call" bindtap="calling">
      <image src="{{call_image}}"></image>
    </view>
    <view class="addr">
      <button bindtap="addring">
        <image src="{{ditu_image}}"></image>
        <text>本店导航</text>
      </button>
    </view>
  </view>
  <map id="myMap" show-location></map>
</view>
 

因为使用到的绑定变量,所以还需要相应的JS代码。

// pages/our/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    src: '/image/shop.jpg',
    call_image: '/image/dianhua.jpg',
    ditu_image: '/image/ditu.png'
  },

  calling: function() {
    wx.makePhoneCall({
      phoneNumber: '15132069967',
      success: function(){
        wx.showToast({
          title: '拨打电话成功',
          icon: 'success',
          duration: 2000
        })
      },
      fail: function(){
        wx.showToast({
          title: '拨打电话失败',
          duration: 2000
        })
      }
    })
  },

  addring: function(){
    wx.getLocation({
      success: function(res) {
        wx.openLocation({
          latitude: 39.8415143,
          longitude: 116.4321115,
          name: '顶秀金颐家园',
          address: '北京市丰台区石榴庄二街1号顶秀金颐家园5号楼'
        })
      },
    })
    // wx.chooseLocation({
    //   success: function(res) {
    //     console.log(res);
    //   },
    // })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  mapCtx: null,
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    this.mapCtx = wx.createMapContext('myMap', this)
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    setTimeout(function () {
      wx.hideNavigationBarLoading();
      wx.stopPullDownRefresh();
    }, 2000);
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    return {
      title: '刀郎出品,放心的选择'
    }
  }
  
})

可以秒杀90%初学者的技能。

找到wxml 页面,直接键入latitude=“” longitude=“”
然后,我们要再去地图坐标拾取器里找到坐标。 坐标(43.942406,81.265869)
补充一点小知识:
经纬度是经度与纬度组成的坐标系统,是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。
纬线编辑 播报
纬线和经线一样是人类为度量方便而假设出来的辅助线,定义为地球表面某点随地球自转所形成的轨迹。任何一根纬线都是圆形而且两两平行。纬线的长度是赤道的周长乘以纬线的纬度的余弦,所以赤道最长,离赤道越远的纬线,周长越短,到了两极就缩为0。从赤道向北和向南,各分90°,称为北纬和南纬,分别用“N”和“S”表示。经度分东西,指南北,纬度分南北,指东西。
在这里插入图片描述
经线
经线也称子午线,和纬线一样是人类为度量方便而假设出来的辅助线,定义为地球表面连接南北两极的大圆线上的半圆弧。任两根经线的长度相等,相交于南北两极点。每一根经线都有其相对应的数值,称为经度。经线指示南北方向。
在这里插入图片描述

我国在地球上位置:
在这里插入图片描述
所以,明白了这个图,那么坐标(43.942406,81.265869) 这两个值就不可能填错了

在这里插入图片描述
在这里插入图片描述

提高一下

光是显示怎么能行呢? 那必须得在手机上能打开,能导航这样才完美呀。
在这里插入图片描述
事件绑定。看相应的视频即可
详细解析黑马微信小程序视频–【思维导图知识范围】

  addring: function(){
    wx.getLocation({
      success: function(res) {
        wx.openLocation({
          latitude: 39.8415143,
          longitude: 116.4321115,
          name: '顶秀金颐家园',
          address: '北京市丰台区石榴庄二街1号顶秀金颐家园5号楼'
        })
      },
    })

很显,我们需要改动的就是这样的代码。

改成:

 addring: function(){
    wx.getLocation({
      success: function(res) {
        wx.openLocation({
          latitude: 43.942406,
          longitude: 81.265869,
          name: '那拉提',
          address: '途经这里转海陆空三栖火箭去罗刹海市'
        })
      },
    })

验证代码

在这里插入图片描述
完美!
关机,拉闸,领盒饭,走人,登火箭去罗刹海市

提示:如果一不小心出错
这个时候,Ctrl+Z (这个快捷键有必要记住) 基本上80%以上的编辑器程序都是用这个快捷方式恢复到前一步正确的代码。
如果在恢复这个错之前,把这个错误的截图,并保存,查看几下那就更好了。面对页面出错不是大惊小怪,而是看看是啥错误信息,那你基本具备了向高手迈进的姿势了。

配套资源

找到刀郎《罗刹海市》–微信小程序调用地图–【小程序花园】
https://download.csdn.net/download/dearmite/88123577

作业:

1 下载配套资源阅读里面的JS结构,将打开的地图改成“四川九寨沟”。(难度★★★✫✫)
2 查阅资料,找到聊斋志异之《罗刹海市》。(难度★★★★★★★★★★)满十星

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

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

相关文章

数据库的下一个变革方向——云原生数据库

快速上手亚马逊云原生数据库 数据库免费试用及在线大会 亚马逊数据库产品支持免费试用&#xff0c;并且提供上手教程。【数据库免费试用&上手教程】 回看人类历史上每一次技术的跨越&#xff0c;生产力变革永远不会缺席。“云原生数据库”也已经悄然走到了第十个年头。未…

RabbitMQ 教程 | 客户端开发向导

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是 DevO…

后台管理系统中常见的三栏布局总结:使用element ui构建

vue2 使用 el-menu构建的列表布局&#xff1a; 列表可以折叠展开 <template><div class"home"><header><el-button type"primary" click"handleClick">切换</el-button></header><div class"conte…

Arcgis画等高线

目录 数据准备绘制等高线3D等高线 今天我们将学习如何在ArcGIS中绘制等高线地图。等高线地图是地理信息系统中常见的数据表现形式&#xff0c;它通过等高线将地形起伏展现得一目了然&#xff0c;不仅美观&#xff0c;还能提供重要的地形信息。 数据准备 在开始之前&#xff0c…

【javaSE】 类和对象详解

目录 面向对象的初步认知 什么是面向对象 面向对象与面向过程 类定义和使用 简单认识类 类的定义格式 注意事项 练习定义类 定义一个狗类 定义一个学生类 注意事项 类的实例化 什么是实例化 注意事项 类和对象的说明 this引用 为什么要有this引用 什么是this引…

FSM:Full Surround Monodepth from Multiple Cameras

参考代码&#xff1a;None 介绍 深度估计任务作为基础环境感知任务&#xff0c;在基础上构建的3D感知才能更加准确&#xff0c;并且泛化能力更强。单目的自监督深度估计已经有MonoDepth、ManyDepth这些经典深度估计模型了&#xff0c;而这篇文章是对多目自监督深度估计进行探…

实用科研网站(自用)

网站网址Papers With Codehttps://paperswithcode.com/AMinerhttps://www.aminer.cn/Connected Papershttps://www.connectedpapers.com/ Papers With Code Papers With Code&#xff0c;在这个网站上可以看到最新的机器学习信息&#xff0c;如&#xff1a;当前研究热点、趋势…

matplotlib从起点出发(6)_Tutorial_6_Animations

1 在matplotlib中使用动画 基于其绘图功能&#xff0c;matplotlib还提供了一个使用动画模块生成动画animation的接口。动画是一系列帧&#xff0c;其中每个帧对应于图形Figure 上的一个绘图。本教程介绍了有关如何创建此类动画的一般准则以及可用的不同选项。 import matplot…

ubuntu23.04 flush DNS caches

如何在Ubuntu 23.04中刷新DNS缓存 现在&#xff0c;如果你运行的是Ubuntu 23.04&#xff0c;"系统解决 "的方法将不再适用于你。让我们检查一下你目前的缓存大小。打开你的Ubuntu终端&#xff0c;运行以下command&#xff1a; resolvectl statistics现在&#xff0c…

Android NDK开发

工程目录图 NDK中文官网 请点击下面工程名称&#xff0c;跳转到代码的仓库页面&#xff0c;将工程 下载下来 Demo Code 里有详细的注释 代码&#xff1a;TestNDK 参考文献 Android NDK 从入门到精通&#xff08;汇总篇&#xff09;Android JNI(一)——NDK与JNI基础Android之…

宝塔面板Django项目部署(无数据库版)

近日在学习使用宝塔面板部署Django开发的web项目&#xff0c;走了不少弯路花了3天的时间才完成下面的文字&#xff0c;希望这篇文字能给正在摸索中的人带去点帮助。 一、安装宝塔面板 打开宝塔面板的官方网站(https://www.bt.cn/new/index.html).点击" " 会看到: 当…

C++笔记之vector的reserve()和capacity()用法

C笔记之vector的reserve()和capacity()用法 code review! 代码 #include <vector> #include <iostream>int main() {std::vector<int> myVector;std::cout << "Current size: " << myVector.size() << std::endl;std::cout …

记录每日LeetCode 141.环形链表 Java实现

题目描述&#xff1a; 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链…

生成模型和判别模型工作原理介绍

您解决的大多数机器学习和深度学习问题都是从生成模型和判别模型中概念化的。在机器学习中,人们可以清楚地区分两种建模类型: 将图像分类为狗或猫属于判别性建模生成逼真的狗或猫图像是一个生成建模问题神经网络被采用得越多,生成域和判别域就增长得越多。要理解基于这些模型…

【雕爷学编程】MicroPython动手做(12)——掌控板之Hello World 2

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…

如何用电脑同时管理多个微信号,实现多个微信聚合聊天?

我们知道&#xff0c;当使用电脑端微信时&#xff0c;只需要按住enter键并快速点击微信图标&#xff0c;就可以实现微信多开。 缺点&#xff1a;登录微信的数量不好控制&#xff0c;跳出的登录对话框过多需要手动关闭&#xff0c;而且管理起来非常麻烦&#xff01; 那么&#…

SpringSecurity的实现

SpringSecurity的实现 1.依赖 security起步依赖 redis起步依赖 fastjson jjwt生成token mybatis-plus起步依赖 mysql连接 web起步 test起步 <!-- security启动器 --><dependency><groupId>org.springframework.boot</groupId><arti…

万年历【小游戏】(Java课设)

系统类型 Java实现的小游戏 使用范围 适合作为Java课设&#xff01;&#xff01;&#xff01; 部署环境 jdk1.8Idea或eclipse 运行效果 更多Java课设系统源码地址&#xff1a;更多Java课设系统源码地址 更多Java小游戏运行效果展示&#xff1a;更多Java小游戏运行效果展…

Harris角点检测步骤

Harris角点检测步骤

【MySQL】事务之MVCC(多版本并发控制)

【MySQL】事务-MVCC 一、数据库并发的三种场景二、MVCC2.1 3个记录隐藏字段2.2 undo log&#xff08;撤销日志&#xff09;2.3 模拟MVCC---update2.3.1 delete2.3.2 insert2.3.3 select 2.4 Read View2.5 整体流程 三、RR&#xff08;可重复读&#xff09;与RC&#xff08;读提…