微信小程序开发如何对接腾讯地图API?
本文摘要
老师又给布置了一个新的微信小程序开发任务 < ="ht
老师又给布置了一个新的微信小程序开发任务
< ="http://blog.jsudo.com/wp-content/uploads/2023/01/frc-e14eff67187c4774648e12edce8d990b.png">
如图
于是我采用了腾讯地图sdk,毕竟自家的支持的肯定更好
附上官方地址:
https://lbs.qq.com/qqmap_wx_jssdk/method-search.html
在第一步当中,决定实现地图的定位功能
于是开始研究官方文档
初始化的一些工作就不说了大家都明白
附一个我的目录结构
< ="http://blog.jsudo.com/wp-content/uploads/2023/01/frc-dc8ac7bbb64d5b68543eca464ab7714a.png">
结构
开始定位
研究之后,发现要实现精确的定位,只使用微信小程序的map组件是不够的,除此以外,需要用到腾讯地图地址逆解析,和map组件通力合作达到定位的效果。
reverseGeocoder(options:Object)
本接口提供由坐标到坐标所在位置的文字描述的转换,输入坐标返回地理位置信息和附近poi列表。
如果对坐标不进行设置,那么返回的就是所在的当前位置
通过这个函数和前台的map的设置就能实现定位功能啦
附上实现代码
.js
// pages/login/login.js
const app = getApp()
var QQMapWX = require('../../utils/qqmap-wx-jssdk1.2/qqmap-wx-jssdk.js');
var qqmapsdk;
Page({
/**
* 页面的初始数据
*/
data: {
longitude:'',
latitude: '',
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
qqmapsdk = new QQMapWX({
key: '这里被我打码了'
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 表单提交定位函数
*/
formSubmit(e) {
var _tShopfas = tShopfas;
qqmapsdk.reverseGeocoder({
location: e.detail.value.reverseGeo , //获取表单传入的位置坐标,不填默认当前位置,示例为string格式
//get_poi: 1, //是否返回周边POI列表:1.返回;0不返回(默认),非必须参数
success: function (res) {//成功后的回调
console.log(res);
var res = res.result;
var mks = [];
mks.push({ // 获取返回结果,放到mks数组中
title: res.address,
id: 0,
latitude: res.location.lat,
longitude: res.location.lng,
iconPath: './resources/placeholder.png',//图标路径
width: 20,
height: 20,
callout: { //在markers上展示地址名称,根据需求是否需要
content: res.address,
color: '#000',
display: 'ALWAYS'
}
});
_tShopfas.setData({ //设置markers属性和地图位置poi,将结果在地图展示
markers: mks,
poi: {
latitude: res.location.lat,
longitude: res.location.lng
}
});
},
fail: function (error) {
console.error(error);
},
complete: function (res) {
console.log(res);
}
})
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
.wxml
当前位置为:{{markers[0].title}}
相关文章
****更多行业产品开发方案,请关注 加速度JSUDO***
<以上资讯仅供参考,如果您需解决具体问题,建议您关注作者;如果有软件产品开发需求,可在线咨询加速度产品经理获取方案和报价>
加速度JSUDO是一家企业级数字化解决方案提供商,专注于软件开发、网络营销、数字化转型咨询及云计算服务。核心业务包括定制化ERP/CRM系统、快速应用开发、大数据分析及物联网(IoT)解决方案,助力企业提升效率与智能化水平。服务覆盖制造业、零售、物流等多行业,致力于通过技术创新推动客户数字化转型。
添加客服微信获取更多内容










