军用级别的误差可以很小,商用有误差是肯定的。目前基本都使用GPS和基站定位,目前没有更好的解决办法,给你提供一个思路:就是让用户自己选择地标,类似于微信共享发送位置。
想必是拜读郭神的《第一行代码》吧,这个是因为百度提供的这个BDLocationListener接口更新了,现在需要实现两个函数你可以按住control键+鼠标点击这个接口,就可以看到有两个未被实现的方法了,目前你只实现了一个onReceiveLocation()方法,还有一个方法是onConnectHotSpotMessage()。你用的AndroidStudio的话,直接在你的这个MyLocationListener类中按Control键+O找到onConnectHotSpotMessage()方法点确定就行了。
针对定制功能来说,价格会比较昂贵,因为定制需要重新花时间开发,一般工期都在一个月以内的时间,基本上都是几万元,所以这个小商户来说,肯定是承受不起的
如果是单独的满足一些基础的功能,没必要采用定制的模式,比如目前市场上许多网络公司卖微信小程序的模版,基本功能都具备的,花个几百或者几千购买就足够了,比较适合中小型企业
定制需要麻烦专业的团队去开发需要高昂的费用和时间的,而且还不一定实用,建议你去点点客小程序看看,不仅全行业覆盖小程序还免费
小程序对于客户引流有着不同寻常的作用,不同平台的小程序在功能性上都已经有了显著性的提高。这对于很多想要通过小程序创业的新人们来说无疑是一件好事,但是摆在新人面前的一道难题就是:小程序制作通过定制开发好,还是通过平台所给出的小程序模板来使用好?
1, 定制小程序有哪些特点?弊端在哪?
首先,定制小程序从字面上就可以了解到是几乎从0做一款小程序。而对于小程序定制开发的工作量是随着我们对于小程序功能性上的要求而改变。对于定制小程序,我们可以通过外包工作室、小程序开发平台、个人开发等方面来寻求技术支持。
定制小程序收费相比于小程序模板开发肯定会高上几倍甚至十几倍,但是价格高所换来的功能性上的特点也是仁者见仁智者见智,大多数进行小程序定制的都为企业或者是大型的互联网营销公司和团队,为满足公司和团队所需要的智能交互功能来进行开发。其弊端就在于定制小程序的制作周期相比于小程序模板开发要长很多。收费高、实际成品的使用体验没有达到预期等。
2, 小程序模板开发有哪些特点?其弊端在哪?
通过小程序模板来进行小程序的开发是目前比较受大家欢迎的开发模式,小程序模板一般都有互联网小程序开发的平台来为大家提供,而且就比如像客满小程序这样的平台,都是为大家进行免费的小程序模板提供。平台针对不同行业以及不同的场景为大家设计出数千种小程序模板,根据自己的需求随意组合,DIY出属于你自己的小程序!
关于小程序模板开发,其开发周期则会短上很多。但是我们关注它的弊端,首先就是其功能性上有一定的局限,我们只能根据平台所给出的功能来进行选择。其次就是不同平台所面对小程序模板开发的能力和资质都有不同,不同平台的小程序使用体验容易出现比较大的出入。
3, 对于新人该如何选择?
说了这么多,对于小程序制作的新人们来说,应该如何选择这两种场景呢?我们需要根据自己的需求做选择,首先看自己有没有特殊功能的要求,而且对于小程序的管理使用上有没有特定的要求和保密的机制,是否需要自行搭建服务器来进行客户信息交互。如果你的需求在模板开发平台都能够满足,则就不要选择小程序定制开发,反之则要选择定制开发。
因为这两种小程序类型不会审核通过的:
平台型:类似淘宝那种商家入驻型的小程序。
开发型:类似小程序开发公司这种商业服务的。
按照提示来看,你的小程序内容可能就是这两种类型,更改一下重新审核就可以了。
福建省经度科技有限公司,目前有成都分公司、深圳分公司。是以互联网产品技术开发为核心,专业从事定制和外包软件开发、技术服务支持、人才培养等业务的互联网科技企业。经度科技不仅可以为企业提供一站式互联网服务,还可为企业全面提供包括APP、小程序、公众号定制开发,移动端、PC端网站开发,会员系统,支付系统,商城系统,分销系统,办公系统,管理系统,采购系统,O2O系统,CRM系统等互联网产品(软件)开发,全面涉及政府部门、事业单位、商贸企业、餐饮、服装、金融、教育、旅游、电商、社会化服务等各行各业。
企业优势:
1、专业开发团队
——聚集实战经验丰富的团队,千万金额成功项目珠玉在前,实力不容小觑。
2、开发费用透明
——消除行业壁垒,信息不对称问题,竞价透明,比肩行业水平。
3、高质按时交付
——不随意拖延开发工期,保证高质量按时交付开发成品。
4、持续运营支持
——按需提供软件上线后运营支持,修复漏洞服务。
5、售后服务周到
——秉承顾客至上理念,全方位跟进需求,专业解答您的所有疑问。
示例简介本文主要介绍项目中常用的一些功能,供大家参考:
1、小程序跳转到其它小程序,并传参和获取参数数据;
2、计算定位位置和目标位置的距离;
3、地图上标记所有位置,并实现点击跳转到导航系统页面。
Tips:为了演示的方便,代码都会尽量缩减,样式随意。
实现过程一、小程序跳转到其它小程序,并传参和获取参数数据
1、wxml代码如下:
<button catchtap="goMiniProgram" class="button-style">跳转小程序</button>
2、跳转小程序的js代码如下:

appId:要打开的小程序 appId;

path:打开的页面路径,如果为空则打开首页;
extraData:需要传递给目标小程序的数据,目标小程序可在App.onLaunch、App.onShow中获取到这份数据(本文介绍的是在App.onShow获取);
envVersion:要打开的小程序版本(本文使用'develop')。
// 跳转小程序 goMiniProgram: function () {wx.navigateToMiniProgram({appId: '要打开的小程序 appId',path: 'pages/index/index',extraData: {from: 'miniProgram',appName: '程序名',responseType: 'code'},envVersion: 'develop',success(res) {console.log(res)}}) }
3、目标小程序获取传参的数据:
// app.js使用下面写法获取extraData的数据 onShow: function(options) {console.log(options)if (options.referrerInfo.extraData) {this.globalData.extraData = options.referrerInfo.extraData;}}
二、计算定位位置和目标位置的距离
1、app.json增加代码,用于授权定位的提示信息(点击“确定”):
"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示"} }
2、wxml代码如下:
<text>跟目标地址距离为:{{distance}}</text>
3、计算距离的js代码如下:
1)计算距离函数,单位km;
// 计算距离函数(单位km) Rad(d) {//根据经纬度判断距离return d * Math.PI / 180.0; }, getDistance(lat1, lng1, lat2, lng2) {// lat1用户的纬度// lng1用户的经度// lat2目标的纬度// lng2目标的经度var radLat1 = this.Rad(lat1);var radLat2 = this.Rad(lat2);var a = radLat1 - radLat2;var b = this.Rad(lng1) - this.Rad(lng2);var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));s = s * 6378.137; // 6378.137为地球半径s = Math.round(s * 10000) / 10000;s = s.toFixed(2) + 'km'; // 保留两位小数return s; }})
2)页面加载时,获取定位坐标并计算距离(latitude2和longitude2为设置的目标坐标);
/*** 生命周期函数--监听页面加载*/ onLoad: function (options) {// 获取当前位置wx.getLocation({type: 'gcj02',// altitude: true, // 较高精确度success: (res) => {console.log('当前位置:', res);// 113.418123,22.505415let distance = this.getDistance(res.latitude, res.longitude, this.data.latitude2, this.data.longitude2);this.setData({distance: distance});}}) }
三、地图上标记所有位置,并实现点击跳转到导航系统页面
1、wxml代码如下(宽高单位使用px,如用rpx在ipone5屏幕下会导致显示不完全):
<map id="myMap" style="width: {{mapWidth}}px; height: {{mapHeight}}px;" latitude="{{latitude}}" longitude="{{longitude}}" markers="{{markers}}" show-location bindmarkertap="selectMarket" include-points="{{markers}}" bindmarkertap="openOmnirange"></map>
2、js代码如下:
1)data数据设置;
/*** 页面的初始数据*/ data: {latitude: 22.495393,longitude: 113.376004,markers: [{id: 0,latitude: 22.502508,longitude: 113.39271,iconPath: '../../images/mark_icon.png',width: '40',height: '40',},{id: 1,latitude: 22.489619,longitude: 113.391488,iconPath: '../../images/mark_icon.png',width: '40',height: '40',},{id: 2,latitude: 22.523008,longitude: 113.369713,iconPath: '../../images/mark_icon.png',width: '40',height: '40',},{id: 3,latitude: 22.494695,longitude: 113.452789,iconPath: '../../images/mark_icon.png',width: '40',height: '40',},{id: 4,latitude: 22.535693,longitude: 113.379631,iconPath: '../../images/mark_icon.png',width: '40',height: '40',},{id: 5,latitude: 22.506448,longitude: 113.418437,iconPath: '../../images/mark_icon.png',width: '40',height: '40',},],addressMes: [{name: '孙文纪念公园',address: '中山市兴中道'},{name: '金钟湖公园',address: '中山市新安路南'},{name: '岐江公园',address: '中山一路与西堤路交叉口'},{name: '长江水世界',address: '火炬高技术开发区景观路1号'},{name: '逸仙湖公园',address: '广东省中山市湖滨路'},{name: '中环广场',address: '广东省中山市兴政路1号'},],mapWidth: '',mapHeight: '' }
2)页面加载时,计算手机屏幕宽高,并赋值给地图;
/*** 生命周期函数--监听页面加载*/ onLoad: function (options) {let sy = wx.getSystemInfoSync(),mapWidth = sy.windowWidth,mapHeight = sy.windowHeight;this.setData({mapWidth: mapWidth,mapHeight: mapHeight}) }
3)点击标记点,跳转到导航系统;
// 点击标记点 openOmnirange: function (e) {let id = e.markerId;wx.openLocation({latitude: this.data.markers[id].latitude,longitude: this.data.markers[id].longitude,name: this.data.addressMes[id].name,address: this.data.addressMes[id].address}) }背景
我们经常使用EXCEL表格进行数据处理工作,对于文本、数值方面的数据,EXCEL处理起来还是很方便的。但,如果表格中拥有经纬度坐标需要进行核实和整理,仅仅依靠EXCEL内置的公式和函数就无法处理了。
例如下面这张表格,如何能够快速方便的在EXCEL中核实经纬度坐标呢?
接下来请跟随本文章节的介绍,学习使用【小O地图EXCEL版】进行经纬度数据的整理操作。
一、数据准备我们首先需要对表格数据进行简单的整理,以满足在小O地图的功能运行条件。
1、表格中经纬度分列存储,经度一列,纬度一列。
2、每行需要有唯一标识列,用于区分每一行记录,例如上图中的A列。
3、每行有标注列,便于标注识别,该条件非必须。
满足上述三个条件,我们就可以开始整理坐标数据了。
二、启动小O地图下载小O地图EXCEL版本后,解压,运行其中的 Start.exe 文件。
正常情况下,会启动EXCEL软件,并在菜单栏上增加 【小O地图】的菜单。如下图
接下来依次操作:
1、打开地图,选 【高德地图】,侧边栏和弹窗都可以。
2、启动【地图标注】功能
3、打开需要处理的EXCEL文件。
整体界面截图如下图;
开始整理坐标。
三、整理步骤1、新建标注模板在标注窗口上选择标注管理,新建标注模板,在新增的标注栏上选择【配置】按钮,对照表格数据设置经纬度所在行列号。此步骤是告诉程序,数据分布在哪些行列号。
如果配置不正确,执行标注图形时会提示配置错误的提示。
2、标注选中行鼠标选择表格行,注意不要双击单元格使表格处于编辑状态,那样界面会出现点击无反应的状态。

选择【地图标注】窗口中的【标注】按钮,将表格行标注至地图上,如下图,我们就可以很直观的查看数据所在地图位置,核实表格行经纬度是否正确了。
3、修改坐标如果发现标注位不对,可以直接拖拽图标至正确点位,此时新的坐标值会自动更新到表格行中。实现地图和表格联动更新。
当然,如果你手动修改了表格的坐标,需要再次点击地图标注窗口的【标注】按钮,重新绘制图标。
借助地图搜索查找正确点位
如果你在地图上找不到正确的点位,那么可以借助地图上【搜索】功能,输入【城市】和【搜索词】在地图上查找数据所在位置。
如下图,使用表格坐标标注的点位与搜索结果的点位偏差,那么可以拖拽图标至搜索结果的点位,从而对表格坐标值进行更正。
如上操作即完成坐标核实与更正操作。
依次逐行核查坐标完成。
当我们完成所有坐标的核查后,我们想一次性在地图上查看所有点位,那么可以使用【地图绘图】或【地图可视化】功能。二者区别是:
【地图绘图】- 支持500个点以下的标注,标注带有文字标签,并且支持导出ShapeFile、Mapinfo tab、KML等专业的GIS格式文件。【地图可视化】- 支持1万以内的标注,不带有文字标签,也不支持导出文件格式。下面我们分别用两张截图展示效果,具体操作步骤可以参考其他教程文档。
地图绘图截图
地图可视化截图(海量点)
以上就是本文全部内容。感兴趣的朋友可百度搜索【小O地图】登陆官网下载使用。