首页
归档
留言
广告合作
友链
美女主播
Search
1
博瑞GE车机升级/降级
5,146 阅读
2
Mac打印机设置黑白打印
4,517 阅读
3
修改elementUI中el-table树形结构图标
4,516 阅读
4
Mac客户端添加腾讯企业邮箱方法
4,351 阅读
5
intelliJ Idea 2022.2.X破解
4,060 阅读
Java
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
登录
/
注册
Search
标签搜索
Spring Boot
Java
Spring Cloud
Mac
mybatis
WordPress
Nacos
Spring Cloud Alibaba
Mybatis-Plus
jQuery
Java Script
asp.net
微信小程序
Sentinel
UniApp
MySQL
asp.net core
IntelliJ IDEA
Jpa
树莓派
Laughing
累计撰写
570
篇文章
累计收到
1,424
条评论
首页
栏目
Java
HarmonyOS Next
Web前端
微信开发
开发辅助
App开发
数据库
随笔日记
页面
归档
留言
广告合作
友链
美女主播
搜索到
2
篇与
的结果
2022-11-17
油耗笔记OilNote周边搜索能力由高德地图切换成百度地图
一、交代下背景以前油耗笔记OilNote检索周边加油站功能,都是用的高德地图,起初,也不知道高德Api限制多少访问量,反正一直也没提示过超额,但是今天,莫名的收到了两条超额的短信。一开始收到80%超额的时候也没太当回事,觉得可能这个月改版,调试用的数量比较大,但是紧接着就收到了超额100%的提示,就感觉到不太对劲了,于是登录了高德后台,查询了一下配额。结果真是乖了个乖,搜索服务每日限额100次,这简直就是坑了,100次跟没有没啥区别,高德这是直接劝退个人开发者的节奏。查了下站内信,2022年10月26日发的站内信(没短信),通知2022年10月27日调整限额,连给你调整的时间都不给。坑你没商量呀。二、百度地图为什么选择百度地图呢?介个,国内好像除了高德就是百度了,不用也没办法。因为我就用到了地点检索,百度地图目前还算比较良心的,个人开发者每日限额是5000次。是高德地图的50倍。并发限制都是一样的30QPS。百度地图创建应用的时候,记得选择微信小程序,否则逆地理编码是不能用的。三、微信公众平台配置如果使用百度地图,必须提前把百度地图Api放到域名白名单里面。微信小程序后台,依次定位到开发管理→开发设置→服务器域名,在request合法域名里面加上百度地图的网址https://api.map.baidu.com如果微信开发者工具提示域名不合法,记得刷新一下开发者工具的域名信息。刷新后记得重新编译项目。三、功能改造既然决定了用百度地图,那么剩下的就是如何对程序进行改造了。因为我的小程序是使用uniapp开发的,所以这里就介绍一下uniapp的整个的改造过程。为了不影响在线版本,暂时先不删除高德域名。3.1、manifest.json改造manifest.json用于配置地图的Key,因为我之前使用的是高德的地图,切换到百度后,需要将相关配置改成百度地图的。其实我现在只是用了微信小程序,AK我直接在代码里面写死了,这里配置的appkey我感觉没啥用,对uniapp理解不是很深入,这块可能更多的是给App用的吧。我们Maps需要勾选百度地图并取消高德地图。具体的key,可以在百度开放平台,个人创建的应用中找到。3.2、获取附近加油站功能改造其实改造也比较简单,高德跟百度Api还是比较类似的。3.2.1、原来高德获取周边加油站的代码let getLocation = function(radius = 1000, successFn) { var latitude = '' //纬度 var longitude = '' //经度 if (uni.getStorageSync('position') == '') { uni.getLocation({ geocode: true, type: 'gcj02', altitude: true, accuracy: 'best', isHighAccuracy: true, success: (res) => { console.log('位置是', res) latitude = res.latitude longitude = res.longitude uni.setStorageSync('latitude', latitude) uni.setStorageSync('longitude', longitude) uni.request({ url: 'https://restapi.amap.com/v3/geocode/regeo?key=AK' + '&location=' + longitude + ',' + latitude + '&poitype=010100&radius=' + radius + '&extensions=all&batch=false&roadlevel=0', success: function(res) { var regeocode = res.data.regeocode // 省份名称 uni.setStorageSync('province', regeocode.addressComponent.province) // 城市名称 uni.setStorageSync('city', regeocode.addressComponent.city) // 城市编号 uni.setStorageSync('citycode', regeocode.addressComponent.citycode) successFn(regeocode) }, fail(err) { console.log('获取加油站信息失败:' + JSON.stringify(err)) } }) }, fail: (err) => { console.log('获取加油站信息失败:' + JSON.stringify(err)) } }) } }3.2.2、百度地图获取逆地址编码(根据坐标获取位置)let getLocation = function(radius = 1000, successFn) { var latitude = '' //纬度 var longitude = '' //经度 uni.getLocation({ geocode: true, type: 'gcj02', altitude: true, accuracy: 'best', isHighAccuracy: true, success: (res) => { console.log('位置是', res) latitude = res.latitude longitude = res.longitude uni.request({ url: 'https://api.map.baidu.com/geoconv/v1/?' + 'ak=您的AK(类型是服务端的)' + '&coords=' + longitude + ',' + latitude + '&from=3&to=5&output=json', success: function(res) { debugger if (res.data.status === 0) { longitude = res.data.result[0].x latitude = res.data.result[0].y uni.setStorageSync('latitude', latitude) uni.setStorageSync('longitude', longitude) uni.request({ url: 'https://api.map.baidu.com/reverse_geocoding/v3/?' + 'ak=您的AK(类型是小程序的)&output=json' + '&coord_type=gcj02ll' + '&location=' + latitude + ',' + longitude + '&radius=' + radius, success: function(res) { if (res.data.status === 0) { // 省份名称 uni.setStorageSync('province', res.data .result.addressComponent .province) // 城市名称 uni.setStorageSync('city', res.data .result.addressComponent .city) // 城市编号 uni.setStorageSync('citycode', res.data .result.cityCode) successFn(res.data, res.data.result .addressComponent.province, res.data.result .addressComponent.city) } }, fail(err) { console.log('获取位置信息失败:' + JSON.stringify(err)) } }) } }, fail(err) { console.log('获取位置信息失败:' + JSON.stringify(err)) } }) }, fail: (err) => { console.log('获取位置信息失败:' + JSON.stringify(err)) } }) }需要注意,uni.getLocation获取gcj02时的坐标适用于高德等地图,但是不适用百度地图,需要调用百度地图坐标转换接口geoconv转换成百度地图的坐标,不然会有较大的误差,同时地图转换接口使用的AK需要是服务端类型的应用的AK,也就是说我们实际上使用了两种AK,一种是服务端的,一种是小程序的。3.2.3、百度地图获取附近加油站let getOilStation = function(radius = 1000, successFn) { let latitude = uni.getStorageSync('latitude') //纬度 let longitude = uni.getStorageSync('longitude') //经度 uni.request({ url: 'https://api.map.baidu.com/place/v2/search?' + 'query=充电站$加油站&ak=您的AK(类型是小程序的)&output=json' + '&scope=2' + '&coord_type=2' + '&page_size=20' + '&location=' + latitude + ',' + longitude + '&radius=' + radius, success: function(res) { successFn(res) } }) }改造完成后验证一下四、使用百度地图一些问题目前切换到百度地图之后遇到的一些问题搜索功能显示不全,我家附近其实就有一个中国石化,但是百度地图搜索不到,充电站搜索还算比较全的不能显示图片,如果photo_show开启,会提示授权失败。
2022年11月17日
1,055 阅读
0 评论
0 点赞
2021-04-30
微信公众号自动回复typecho文章
{mtitle title="这是个啥"/}这是一个SpringBoot写的,实现微信公众号留言自动回复、关注发送消息及取关发送消息的Jar包。{mtitle title="能提供什么"/}目前我们提供以下功能:用户关注公众号自动回复。用户给公众号留言时,自动查找博客内容(目前按照标题查找)并将查询内容返回给用户。创建底部菜单(由于我的公众号是个人的,目前无法验证,所以暂时不放开)安装JDKjar包依赖JDK 1.8,所以需要先在服务器上配置好。不会的童鞋自己百度。修改配置文件用压缩软件打开gongzhonghao-0.0.1-SNAPSHOT.jar,找到application.yaml文件。配置信息port用于配置程序运行的端口,如果不使用80端口需要使用nginx进行端口转发。resp用于配置用户关注时回复的信息。如需换行请使用<br/>。AppID、AppSecret、token为配置微信公众号的后台信息。url、username、password用于配置typecho的数据库连接信息。参考如下spring: datasource: url: jdbc:mysql://localhost:3306/xiangcaowuyu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: root配置文件如下:server: port: 1234 xiangcaowuyu: AppID: 公众号AppId AppSecret: 公众号AppSecret token: xiangcaowuyu resp: 感谢关注<br/> <a href='https://www.xiangcaowuyu.net'>香草物语</a><br/> 现在可以回复关键字查询博客的文章啦~~~<br/> 快来试试吧☆ ̄(>。☆) spring: datasource: url: jdbc:mysql://localhost:3306/xiangcaowuyu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: root mybatis-plus: mapper-locations: classpath:/**/*.xml运行jar包将jar包传到外网服务器后台,进入jar包所在目录,执行以下命令(需要提前配置好JDK)nohup java -jar gongzhonghao-0.0.1-SNAPSHOT.jar > log.file 2>&1 &配置公众号进入公众号后台URL为你的域名+/wechat/officialtoken与上面配置的token保持一致EncodingAESKey随机生成即可。jar包下载隐藏内容,请前往内页查看详情
2021年04月30日
1,833 阅读
4 评论
3 点赞