小程序地图导航开发?微信官方推出的腾讯地图插件了解一下

https://www.caiyunyi.com/news/xiaochengxukaifawendang/2018/0703/369.html

出门在外,面对陌生的环境,免不了使用地图服务。

不少开发者就通过开发地图服务,为用户提供更优质的体验,但在传统开发模式中,引入完整的地图选点、路线规划组件,开发成本非常高

为了帮助开发者们进一步“减负”,腾讯地图插件添加了路线规划的能力,主要向用户展示从A到B的路线

今天的小程序课,微信开发哥就来给大家介绍使用腾讯地图插件的正确姿势。

轻松规划路线及导航

场景1

请柬邀请类小程序

——收到小程序的婚礼请柬,但是请柬上的地址找不到?怎么办?

——用路线插件给用户指路吧!

如果你开发的是请柬邀请类的小程序,就会遇到上述场景。不少开发者选择让用户直接输入文字地址进行展示,以此作为降低开发成本的妥协方案。这样的设计不可点击,更没有路线规划的能力,用户还需手动输入去查询地址和交通路线。

640.webp (8).jpg

(传统请柬 不可交互)

但如果开发者选择使用腾讯地图提供的路线插件,开发成本将大幅降低,用户体验也能直线上升。我们在这里以婚庆请柬小程序为例进行说明:

用户在编辑请柬小程序的过程中,提前设置好婚礼举办地点;当婚礼宾客收到请柬,点击地点,腾讯地图插件就能根据其宾客当前位置和目的地坐标,自动生成精准的导航路线,这样是不是比枯燥的文字多了几分智能呢?

微信图片_20180614093826.gif

(一键导航 简洁明了)

场景2

会议类小程序

会议服务小帮手,提前了解参会路线

与会者应该如何从高铁站、机场、火车站前往会议地点,一直都是各类会议邀请的必备内容。但长期以来,此类信息都习惯以纯文字形式进行发布,体验上存在不便理解、记忆难的问题。

但如果小程序能够使用腾讯地图插件,这类场景的体验将发生质的改变:

会议组织方在小程序中提前设置多组起终点(如:机场-会议中心、高铁站-会议中心),与会者收到会议邀请后点击指定线路,就能在地图插件中查看到精确的参会路线。

只需两步即可快速接入

那使用腾讯地图插件会不会很麻烦呢?别担心,只需完成两步操作就能轻松接入:

微信图片_20180614093840.jpg

 1  在“小程序管理后台→设置→第三方服务→插件管理”中查找插件名称“腾讯地图”,并申请使用。

 2  在小程序代码中使用插件( 详见《插件开发文档》

腾讯地图插件应用

微信图片_20180614093845.jpg

(“腾讯地图+”小程序)

1528940796100754.jpg

(扫码体验“腾讯地图+”)

路线插件说明文档

1.目前腾讯地图路线插件信息

AppID :wx5bc2ac602a747594
版本号:1.0.6

2.具体使用方法

2.1、修改配置文件JSON

{
  "usingComponents": {
​    "map-route": "plugin://myPlugin/mapRoute"
  }
}

2.2、在页面的WXML文件中添加标签

<map-route route-info="{{routeInfo}}"></map-route>

2.3、JS文件中处理传入插件数据,数据包括:起点,终点经纬度及名称,路线算路方式,封装在routeInfo结构中

let plugin = requirePlugin("myPlugin")
let routeInfo = {
    startLat: 39.90469,    //起点纬度 选填
    startLng: 116.40717,    //起点经度 选填
    startName: "我的位置",   // 起点名称 选填
    endLat: 39.94055,    // 终点纬度必传
    endLng :116.43207,  //终点经度 必传
    endName:"来福士购物中心",  //终点名称 必传
    mode:“car”  //算路方式 选填
}

Page({
  data: {
    routeInfo: routeInfo
  }
})

参数说明:

起点:不填写或startName=“我的位置”或startName=“当前位置”或startName=“currentLocation”则插件会获取当前的定位位置作为起点位置发起算路,若正确填写起点信息,则以传入的起点信息发起算路。

终点:必传参数,不正确传入则不会发起算路或者算路失败。

算路方式:

mode,目前支持三种算路方式,分别是:驾车(car),公交(bus),步行(walk);

不传则默认发起驾车算路。

注意:数据要在data中初始化,不要再onLoad中直接setData,因为onLoad中直接setData,properties的routeInfo的observer: function (newVal, oldVal),newVal接收不到参数,导致参数报错,之后可以通过其bind他事件setData更新routeInfo达到变更起终点参数的效果。

3.效果图

4.问题

../error.png
开发者反馈这样的问题,请在开发者工具->详情,降低下调试基础库的版本

猜你喜欢

转载自blog.csdn.net/huawuque004/article/details/82943705