怎么样使用微信地图小程序导航,如何用微信导航?

怎么样使用微信地图小程序导航,如何用微信导航?,第1张

1、在手机上打开微信,然后在微信主界面,点击下面的“发现”标签。

2、在打开的发现窗口中,点击“小程序‘菜单项。

3、在打开的微信小程序页面中,点击右上角的搜索按钮

4、接下来在搜索框中输入地图进行搜索,点击搜索结果中的腾讯地图菜单项。

5、这时我们的微信小程序马上定位到当前的位置,在地图页面顶部输入要到达的目的地

6、在搜索结果中点击路线按钮。

7、这时小程序就会给出导航的方案,选择其中一个方案,然后点击导航按钮就可以了。

根据导出的GPX文件,在地图上绘制其路径轨迹。

GPX: the GPS Exchange Format

GPX (GPS交换格式)是一种轻量级XML数据格式,用于在互联网上的应用程序和Web服务之间交换GPS数据(路径、路由和跟踪)。

在线XML转JSON - BeJSON

为了方便后续绑定使用,转换后批量将“lat”替换为“latitude”、“lon”替换为“longitude”。

将转换后的JSON文件部署到本地服务器,先进行本地测试。

通过 wx.request 获取数据: 微信小程序通过api接口将json数据展现到小程序示例

使用本地链接进行测试会报错,需要将项目设置里勾选上“不校验...”: 【微信小程序】 微信小程序连接本地接口

本地测试没问题后,将文件部署到外网环境,改下url就可以了。

由于数据格式已经与小程序要求的一致了,直接将其赋给对应的Key即可。

需要注意的是,在 wx.request 回调里直接使用 this.setData 会报错: 微信小程序中this指向作用域问题this.setData is not a function报错 。

至此,已基本满足预研需求,后续开发具体功能时会方便不少啦 ~ O(∩_∩)O ~

如果能够显示 卫星地图 就完美了,不过还没找到好的解决方案,留作另一个问题吧,TX不开放也没办法了。

微信小程序申请前的准备:

首先,你需要注册一个小程序账号。需要用一个没注册过公众号的邮箱注册。注册过程中需要很多认证,比较繁琐。如果暂时只是试水、没有发布的打算,那么只要完成基本信息填写就可以,不需要完成微信认证。

之后,就可以在公众平台使用注册的帐户进行登录。

然后,在主页面左边列表中点击设置,再设置页面中选开发设置,就可以看到AppID。而AppID 可以用于在开发工具中进行登记,使用开发工具的高级功能。你可以到官网下载开发工具。

开始项目:

打开开发者工具,选择小程序选项,然后直接点击「添加项目」按钮。我们可以在这个步骤,填入刚才注册的时候使用的AppID。

如果项目目录中的文件是个空文件夹,会提示是否创建 quick start 项目。

选择「是」,开发者工具会帮助我们在开发目录里生成一个简单的 Demo。

这个 Demo 拥有一个完整的小程序的大概框架。

1. 框架

我们首先看一下官方提供的 Demo 含有的目录:

app.js:小程序逻辑、生命周期、全局变量。

app.json:小程序公共设置、导航栏颜色等,不可以注释。

app.wxss:小程序公共样式,类似 CSS 。

小程序页面构成类似这样:

每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:index.js、index.wxml、index.wxss、index.json

微信小程序中的每一个页面的路径和页面文件名,都需要写在app.json的pages中,且pages数组中的第一个页面是小程序的首页。

这四个文件按照功能可以分成三个部分:

配置:json文件

逻辑层:js文件

视图层:wxss.wxml文件

在 iOS 上,小程序的逻辑代码运行于JavaScriptCore 中,而在Android上,这个任务则是交给 X5 内核来完成。

在 开发工具上, 小程序的JavaScript代码是运行在 NW.js(Chrome内核) 中。这也导致开发工具上的效果跟实际效果有所出入。

2. 组件

微信提供了许多组件,主要分为八种:

这其中,包含了view、scroll-view、button、form等普通常用的组件,也提供了地图mapcanvas

组件主要属于视图层,通过 WXML 来进行结构布局,类似于HTML。样式则通过 WXSS 来定义和修改,它的语法和使用都近似 CSS。

组件使用语法实例:

3. API

网络

媒体

数据

位置

设备

界面

开发接口

网络请求接口包含了普通的 HTTPS 请求,支持上传、下载、Socket,基本上满足了我们开发中所需要的网络需求。

这些 API 属于逻辑层,写在 JS 逻辑文件中。

使用实例:

wx.getLocation({ type: "wgs84", success: function(res) { var latitude = res.latitude var longitude = res.longitude var speed = res.speed var accuracy = res.accuracy } })

可以到官方文档 – API 查看其它 API 的使用方法。

编译运行

1. 模拟器调试

我们可以在微信提供的开发者工具中,使用模拟器查看小程序运行的效果。

之前我们提过,小程序的运行底层不同,这也导致在模拟器上的效果,会与在手机上运行有些差异。

2. 真机调试

在左边的选项栏中,选择项目,然后点预览会生产一个二维码,用管理员微信号扫一扫,就可以在真机上看实际效果。

实战:跑步小程序

真机运行截图(运行于iPhone7,微信版本:6.3.30):

首先实现一个计时器进行 计时,通过wx.getLocation获取坐标,把获取到的坐标存在一个数组中,通过坐标每隔一段时间获取里程,进行累加得到总里程,同时也通过坐标点进行连线。存在的问题:

因为目前找不到在地图上画连线的方法,所以采用了在地图上贴小红点图的方法显示大概跑步路径,路径比较粗糙

虽然采用了 API 里面的火星坐标 GCJ02 类型,但是获取的坐标跟国际坐标差不多,依然存在着偏差。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11269682.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存