如何在小程序外调用导航功能呢?(组图)

2022-08-24
来源:网络整理

一.获取地理位置由于小程序只为我们提供了获取地理位置和速度的api,并没有获取位置和位置等信息,所以我们使用百度地图的api来获取位置和位置。

文档

1.应用ak

2.下载百度地图的api,链接:解压后里面有2个文件,一个是常规解压的,一个是压缩后的 PS:由于小程序项目的文件大小限制为1M,建议使用压缩版的js文件!

使用5kb那个js

3.引入JS模块

放下

4.在需要的js文件中导入js //参考百度地图,注意:传入相对路径 var bmap = ('../..//bmap-wx/bmap-wx.js' );

5.编辑代码.wxss代码是

经度:{{longitude}} 纬度:{{latitude}} 地址:{{address}} 城市:{{cityInfo.city}}

复制

.js 代码为:

var bmap = requir('../../utils/bmap-wx/bmap-wx.min.js'); var wxMarkerData = []; //定位成功回调对象 Page({ data: { ak: "FHG7utZtdyXN2", //填写申请到的ak

微信小程序游戏开发_微信小程序开发中地图分布_微信小程序2048开发

markers: [], longitude: '', //经度 latitude: '', //纬度 address: '', //地址 cityInfo: {} //城市信息 }, onLoad: function (options) { var that = this; /* 获取定位地理位置 */ // 新建bmap对象 var BMap = new bmap.BMapWX({ ak: that.data.ak }); var fail = function (data) { console.log(data); }; var success = function (data) { //返回数据内,已经包含经纬度 console.log(data); //使用wxMarkerData获取数据 wxMarkerData = data.wxMarkerData;

微信小程序游戏开发_微信小程序开发中地图分布_微信小程序2048开发

//把所有数据放在初始化data内 that.setData({ markers: wxMarkerData, latitude: wxMarkerData[0].latitude, longitude: wxMarkerData[0].longitude, address: wxMarkerData[0].address, cityInfo: data.originalData.result.addressComponent }); } // 发起regeocoding检索请求 BMap.regeocoding({ fail: fail, success: success }); } })

复制

6.运行注意:楼主的运行环境是在模拟器上,模拟器得到的定位有一些错误。如果需要测试真实的地理位置信息,需要使用真机测试! ! !

结果

二.地图导航

微信小程序开发中地图分布_微信小程序游戏开发_微信小程序2048开发

微信小程序无法导航。原因是小程序的代码最多只能到1M,它的运行内存也只能有10M,而一个区域的地图可以下载超过1M,所以我们在应用程序中是做不到的。导航,但在应用程序外!

关于APP开发,一般如果导航功能不是很重要的话,会在应用外使用来做这个功能,但是高德地图和腾讯地图会有对应的SDK,但是小程序不一样微信小程序开发中地图分布,应该怎么做在小程序中使用小程序?调出导航功能怎么样?

, 1.wx.() 获取当前位置和速度。 2.wx.() 打开地图选择一个位置。 3.wx.()​使用微信内置地图查看位置。

查看微信科技大学

具体实现代码为:

wx.getLocation({ type: 'gcj02', //返回可以用于wx.openLocation的经纬度 success: function(res) { var latitude = res.latitude var longitude = res.longitude wx.openLocation({ latitude: latitude, longitude: longitude, name:"长沙理工大学", scale: 28 }) } })

复制

点击绿点出现如图:

选择地图

在手机上选择地图,然后跳转到对应的地图APP,实现了应用外调用的导航功能。

分享