基于微信小程序的智能配送系统的设计与实现

2019-12-22 16:52潘浩
微型电脑应用 2019年7期
关键词:开发者检索百度

潘浩

(陕西国防工业职业技术学院 经济管理学院, 西安 710302)

0 引言

根据《微信2018影响力报告》[1]的报道,由微信驱动的信息消费总额达2097亿人民币;微信占到用户总数据流量的34%;微信带动了3339亿元人民币的传统消费,包括旅游、餐饮、购物、出行等;微信在2017年促成就业人数达2030万人,是2014年数据的两倍;在日本,接受微信支付的商店数量增加了35倍。从以上数据可以看出,微信正在改变着人们的信息消费模式,传统的物流配送系统存在效率低、成本高、服务质量难以保障等问题,微信普及率高,微信小程序具有不占用手机资源和良好的接口体验等特点,通过设计基于微信小程序的智能配送系统,以实现高效的物流配送系统。

1 微信小程序

微信小程序[2]简称小程序,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户可以通过扫一扫或搜一下即可打开应用。对于使用者,它体现了“用完即走”的理念,用户不在去关心是否安装太多的应用会导致手机内存不足等问题,可以随时使用,不需要安装,而对于微信的开发者,微信小程序的开发难度远不及APP,普通的用户通过简单的学习,就可以开发出满足简单实用的小程序。

1.帐号申请

开发小程序的第一步,你首先要拥有一个小程序帐号,通过这个帐号你就可以管理你所要开发的小程序并进行小程序的发布,通过点击 https://mp.weixin.qq.com/wxopen/waregister?action=step1,根据网页的引导填写信息和提交相应的资料,就可以拥有自己的小程序帐号。

2.获取登陆APPID

帐号申请后,登录https://mp.weixin.qq.com,点击菜单 “设置”-“开发设置” 可以查看小程序的 AppID ,小程序的 AppID 相当于小程序平台的一个身份证,后续小程序的使用与管理都使用它登录。

3.安装微信开发者工具

前往 开发者工具下载页面 ,根据自己的操作系统下载对应的安装包进行安装,就可以使用微信小程序。

2 百度地图API

百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端、服务器等多种设备,多种操作系统下的地图应用开发。百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富、交互性强的地图应用程序。百度地图API不仅包含构建地图的基本功能接口,还提供了诸如本地搜索、路线规划等数据服务。适用于PC或移动设备端的基于浏览器的开发。JS版本还为用户开放了开源库,简化开发。

开发者首先要进入百度开放平台官网,点击API控制台,注册成为百度地图开发者,在控制台页面创建一个新应用,然后在应用页面,录入设定的应用名称,应用类型为微信小程序,填写小程序ID(APP ID),就可以在应用页面查看申请成功的百度地图密钥(AK),在后续的小程序开发中,所有调用百度地图功能都必须先使百度地图密钥(AK),才能实现地图在微信小程序中的应用功能。

3 功能模块设计

3.1 需求分析

随着城市建设的发展,高楼大厦越来越多,小区的建设也趋于雷同,配送人员到达一个区域后很难迅速的找到目的地,降低了配送效率,影响其工作业绩。这就需要地图能够提供更加具体和个性化的信息,提供尽可能多的POI(Point of Interest)信息,一个POI信息点可以是一幢房子、一个酒店、一个店铺、一个学校等参照物,地图提供的PoI信息点越多,地图的指引性就越强。适用于物流配送的地图应当以目的地为中心,并且包含多个POI信息点共同组成的一个专题地图,这个专题地图通过在配送人员的移动终端上加以显示,从而满足配送人员的即时要求。

配送人员在实际的配送过程中,需要掌握自己的位置坐标,从而很快判断出自己所在的位置信息,在配送人员的定位中需要两种定位模式,一种是以配送人员为中心点,手机地图随着配送人员的移动而移动,可以方便配送者探寻路径;另一种是以目标点为中心,配送人员移动,手机地图显示配送者与目标点的相互关系,方便配送人员查询自己与目标点的方向和距离信息。

配送区域的实时天气情况对配送人员的影响也很重要,随着劳动力人工成本的增加,物流企业一方面通过采用智能化的配送手段实现物流成本的降低例如京东无人车等,另一方面通过增加配送人员的工作量和准时率等手段考核员工的业绩,而全球气候的变化和环境污染的存在,使得气候变化无常,一个良好的地图手机应用可以为物流配送人员提供配送区域的实时天气和穿衣指数,从而保障物流配送人员的工作。

3.2 功能模块设计

3.2.1 POI检索

通过查找并展示定位地点周边的POI信息,很快知道“我周围有什么”。百度地图API默认返回生活服务、美食、酒店三种类型的POI。检索返回的结果包含marker数组数据和完整数据两项。marker数组数据符合小程序marker规范,可以直接用于小程序map中;完整数据包含了百度POI检索接口返回的所有详尽的数据,方便开发者进行自定义开发。

3.2.2 逆地址解析

解析位置坐标,提供从经纬度坐标到地址的转换,展示定位地点的详细地址信息及周边高权重的POI分布数据,很快知道“我在哪”。逆地址解析服务默认对当前定位后的坐标进行解析,也可以在调用时指定经纬度进行解析。检索返回的结果包含marker数组数据和完整数据两项。marker数组数据符合小程序marker规范,可以直接用于小程序map中;完整数据包含该服务接口返回的所有详尽的数据,方便开发者进行自定义开发。

3.2.3 天气查询

根据经纬度/城市名查询天气情况,支持实时天气、天气预报。

百度地图API默认检索当前定位城市的天气信息,也可以通过参数设置查询指定位置的天气。 检索结果包含当前实时天气的重要数据和完整数据(如:穿衣、洗车指数,未来几天的天气等)两部分。方便开发者进行自定义开发。

3.3 功能模块的实现

3.3.1 打开快速创建的微信小程序 pages/index/index.js 文件,用下面的代码完全替换原代码在以下的代码中,首先引用百度地图微信小程序JavaScript API 模块,然后在页面的onLoad中声明BMapWX对象,最后调用BMapWX.regeocoding方法进行逆地址解析(从经纬度转换为地址信息),逆地址解析代码示意如下:

BMap.regeocoding({

iconPath: '../../img/marker_red.png',

iconTapPath: '../../img/marker_red.png'

});

showSearchInfo: function(data, i) {

var that = this;

that.setData({

rgcData: {

address: '地址:' + data[i].address + ' ',

desc: '描述:' + data[i].desc + ' ',

business: '商圈:' + data[i].business

}

});

}

3.3.2 打开快速创建的微信小程序 pages/index/index.js 文件,用下面的代码完全替换原代码在以下的代码中,首先引用百度地图微信小程序JavaScript API模块,然后调用BMapWX.weather方法进行天气信息的检索,天气查询代码示意如下:

var success = function(data) {

var weatherData = data.currentWeather[0];

weatherData = '城市:' + weatherData.currentCity + ' ' + 'PM2.5:' + weatherData.pm25 + ' ' +'日期:' + weatherData.date + ' ' + '温度:' + weatherData.temperature + ' ' +'天气:' + weatherData.weatherDesc + ' ' +'风力:' + weatherData.wind + ' ';

that.setData({

weatherData: weatherData

});

}

猜你喜欢
开发者检索百度
Robust adaptive UKF based on SVR for inertial based integrated navigation
瑞典专利数据库的检索技巧
在IEEE 数据库中检索的一点经验
一种基于Python的音乐检索方法的研究
百度年度热搜榜
不懂就百度
“85后”高学历男性成为APP开发新生主力军
16%游戏开发者看好VR
百度年度人气萌娃