收藏
回答

哪位大哥知道小程序在地图上选择路线怎么实现?

如图所示,有三条线,点击线路后,相应路线高亮,怎么实现点击这个动作,目前没看到有相关事件或api

回答关注问题邀请回答
收藏

2 个回答

  • 拾忆
    拾忆
    2023-09-15

    可以查看第三方地图提供的小程序SDK文档。

    腾讯:https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodDirection

    高德:https://lbs.amap.com/api/wx/guide/route/route

    2023-09-15
    有用
    回复 4
    • 一粒白色的咖啡豆
      一粒白色的咖啡豆
      发表于移动端
      2023-09-15
      这个只是获取规划路线,我的需求是点击地图上的路线如何触发
      2023-09-15
      回复
    • .
      .
      2023-12-05
      大佬解决了吗
      2023-12-05
      回复
    • 一粒白色的咖啡豆
      一粒白色的咖啡豆
      01-05回复.
      前阵子文档更新了,微信小程序我看有对应方法了
      01-05
      回复
    • Cynthia.🍀
      Cynthia.🍀
      03-06回复一粒白色的咖啡豆
      求助,怎么实现呀 我也想实现点击线的事件
      03-06
      回复
  • CRMEB
    CRMEB
    2023-09-15

    以下是一个简单的步骤指南:

    1.引入地图组件:在小程序的页面中引入地图组件,并设置合适的大小和位置。示例代码如下:

    <view style="width: 100%; height: 400rpx;">
      <map id="myMap" longitude="{{longitude}}" latitude="{{latitude}}" markers="{{markers}}" polyline="{{polyline}}" bindmarkertap="markerTap"></map>
    </view>
    
    

    2.获取用户当前位置:使用 wx.getLocation 接口获取用户的当前位置经纬度信息。示例代码如下:

    wx.getLocation({
      type: 'gcj02',
      success: function (res) {
        var latitude = res.latitude; // 用户当前位置的纬度
        var longitude = res.longitude; // 用户当前位置的经度
    
        // 更新地图的中心点坐标
        that.setData({
          latitude: latitude,
          longitude: longitude
        });
      }
    });
    
    

    3.添加起始点和终点标记:根据用户选择的起点和终点,在地图上添加起始点和终点的标记。示例代码如下:

    var markers = [
      {
        id: 0,
        latitude: 起点纬度,
        longitude: 起点经度,
        iconPath: '起点标记图片路径'
      },
      {
        id: 1,
        latitude: 终点纬度,
        longitude: 终点经度,
        iconPath: '终点标记图片路径'
      }
    ];
    
    that.setData({
      markers: markers
    });
    
    

    4.绘制路线:使用 wx.createMapContextmapContext.drawPolyline 接口来绘制起点和终点之间的路线。示例代码如下:

    var mapContext = wx.createMapContext('myMap');
    
    mapContext.drawPolyline({
      points: [
        {
          latitude: 起点纬度,
          longitude: 起点经度
        },
        {
          latitude: 终点纬度,
          longitude: 终点经度
        }
      ],
      color: '#FF0000',
      width: 5,
      dottedLine: false
    });
    
    

    5.实现标记点击事件:为标记添加点击事件,以便在用户点击标记时触发相关操作。示例代码如下:

    markerTap: function (e) {
      var markerId = e.markerId; // 获取被点击的标记的 id
    
      // 根据 id 执行相应的逻辑操作
      // ...
    }
    


    2023-09-15
    有用
    回复 1
    • 一粒白色的咖啡豆
      一粒白色的咖啡豆
      发表于移动端
      2023-09-15
      我说的是选择路线,点击路线如何触发,不是点击markers
      2023-09-15
      回复
登录 后发表内容