欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 【小程序】地图|绘制GPX轨迹

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:505

HTML5影视传媒文化公司类网

2020-05-12   浏览:502

【小程序】地图|绘制GPX轨迹

发布时间:2020-10-26  

需求概述

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

GPX: the GPS Exchange Format

 

GPX (the GPS Exchange Format) is a light-weight XML data format for the interchange of GPS data (waypoints, routes, and tracks) between applications and Web services on the Internet.

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

 

预研思路

是否能够直接读取GPX文件(数据)—— 否。  如何读取XML文件(数据)—— 也不太方便,需要借助第三方库。  搜索过程受到启发,小程序多使用JSON格式数据,何不直接操作JSON —— Bingo!

 

解决方案

GPX转JSON

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

【小程序】地图|绘制GPX轨迹

GPX(XML) 

【小程序】地图|绘制GPX轨迹

JSON

 

获取JSON文件

将转换后的JSON文件部署到本地服务器,先进行本地测试。  通过wx.request获取数据:微信小程序通过api接口将json数据展现到小程序示例

 

wx.request({

url: '', // https接口路径

header: { // 数据类型等

'Content-Type': 'application/json'

},

 

success: function(res) {

//这里就是请求成功后,进行一些函数操作

console.log(res.data)

}

})

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

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

 

绘制路径

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

 

var trkPoints = res.data.gpx.trk.trkseg.trkpt;

_this.setData({

polyline: [{

points: trkPoints,

color: "#FF0000DD",

width: 2,

}]

}, function () {

console.log("Success");

})

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

真机运行

【小程序】地图|绘制GPX轨迹

至此,已基本满足预研需求,后续开发具体功能时会方便不少啦 ~ O(∩_∩)O ~  如果能够显示卫星地图就完美了,不过还没找到好的解决方案,留作另一个问题吧,TX不开放也没办法了。