微信小程序通过腾讯地图规划路线

本文介绍如何利用QQ地图API实现两点间驾车路线的绘制。通过解析返回的坐标点数据并将其显示在地图上,实现了从起点到终点的路径指引功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://blog.youkuaiyun.com/u011330225/article/details/74612620

index.wxml:
<map id="map" polyline="{{polyline}}" markers="{{markers}}" include-points="{{markers}}" style="width: 100%; height: 700rpx;"></map>


index.js:
var coors;
const config = require("../../utils/config.js");
var qqMapKey = config.qqMapSdk;
Page({
    data: {
        polyline:[],
        markers:[{
            latitude:23.362490,
            longitude:116.715790,
        }, {
            latitude:23.37228,
            longitude:116.75498,
        }],
    },
    onLoad: function (options) {
        let that2 = this;
        wx.request({
            url:'https://apis.map.qq.com/ws/direction/v1/driving/?from=23.362490,116.715790&to=23.37228,116.75498&output=json&callback=cb&key='+qqMapKey,
            success:function(res){
                coors = res.data.result.routes[0].polyline
                for(var i=2; i< coors.length; i++) {
                    coors[i]= coors[i-2]+ coors[i]/1000000
                }
                console.log(coors)
                //划线
                var b=[];
                for(var i=0; i< coors.length; i=i+2) {
                    b[i/2]={
                        latitude: coors[i],longitude:coors[i+1]
                    };
                    console.log(b[i/2])
                }
                that2.setData({
                    polyline: [{
                        points: b,
                        color:"#99FF00",
                        width:4,
                        dottedLine:false
                    }],
                })
            }
        })
    },
});

url 请求返回的详细信息:


返回路线:


### 微信小程序中使用腾讯地图进行路线规划微信小程序中集成腾讯地图服务可以极大提升用户体验,尤其是在涉及导航和路径查询的应用场景下。为了实现这一目标,开发者可以通过调用微信小程序提供的API接口来完成路线规划功能。 #### 初始化腾讯地图插件 要开始使用腾讯地图的服务,在项目配置文件`app.json`里注册所需的地图组件,并引入必要的SDK: ```json { "usingComponents": { "map": "plugin://tencent-map/map" } } ``` 此操作允许后续页面通过标签形式直接引用地图控件[^2]。 #### 获取起点终点坐标 通常情况下,应用会先获取用户的当前位置作为起始点;而目的地则可能由用户手动输入地址名称后解析得到地理坐标,或者让用户点击地图选取具体位置。对于后者,可利用`tencentMap.regeocode()`方法将地点名转换成经纬度数据[^1]。 #### 实现路线规划请求 当拥有了两个地理位置之后,就可以发起一次驾车/步行/公交等类型的路径计算请求了。下面是一个简单的JavaScript函数用于发送GET方式的HTTP请求给腾讯服务器并处理返回的结果集: ```javascript function getRoutePlan(fromLat, fromLng, toLat, toLng){ wx.request({ url: 'https://apis.map.qq.com/ws/direction/v1/driving/', data:{ origin:`${fromLat},${fromLng}`, destination:`${toLat},${toLng}`, key:'YOUR_API_KEY_HERE' }, success(res){ console.log('route plan result:', res.data); // 解析res.data中的path字段绘制轨迹... } }) } ``` 请注意替换上述代码片段里的`YOUR_API_KEY_HERE`为你自己的密钥字符串。 #### 绘制路径到界面上 最后一步就是把计算出来的最优行驶方案展示出来啦!这一般涉及到对原始JSON响应体内的几何形状信息做进一步加工,比如提取出所有的节点坐标形成折线数组,再借助于<map>组件内置的方法addPolyline()将其渲染至可视区域之内。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值