微信小程序--获取用户地理位置名称(无须用户授权)的方法


Posted in Javascript onApril 29, 2019

在本文 微信小程序--获取用户地理位置名称(无须用户授权) 之前需要先看看

代码封装是在上文添加的。

准备

1、在http://lbs.qq.com/网站申请key

2、在微信小程序后台把apis.map.qq.com添加进request合法域名

效果

微信小程序--获取用户地理位置名称(无须用户授权)的方法

添加封装

/**
 * 发起网络请求
 * @param {string} url 
 * @param {object} params 
 * @return {Promise} 
 */
 static request(url, params, method = "GET", type = "json") {
 console.log("向后端传递的参数", params);
 return new Promise((resolve, reject) => {
  let opts = {
  url: url,
  data: Object.assign({}, params),
  method: method,
  header: { 'Content-Type': type },
  success: resolve,
  fail: reject
  }
  // console.log("请求的URL", opts.url);
  wx.request(opts);
 });
 };
 /**
 * 获取用户中心位置经纬度
 * @param {ctx} name 
 */
 static getCenterLocation(name) {
 return new Promise((resolve, reject) => name.getCenterLocation({ success: resolve, fail: reject }));
 }

如果已经存在,则不用添加

js

let app = getApp();
let wechat = require("../../utils/wechat");
Page({
 onReady(e) {
 let mapCtx = wx.createMapContext('myMap');
 setTimeout(() => {
  mapCtx.moveToLocation();
 }, 1000);
 setTimeout(() => {
  this.getAddress(mapCtx);
 }, 2000);
 },
 getAddress(mapCtx) {
 wechat.getCenterLocation(mapCtx)
  .then(d => {
  console.log(d);
  let { latitude, longitude } = d;
  console.log("当前位置纬度", latitude, "当前位置经度", longitude);
  let url = `https://apis.map.qq.com/ws/geocoder/v1/`;
  let key = 'XXXXX-D6FAD-RSG4U-HBE6F-NVFNK-XXXXX';
  let params = {
   location: latitude + "," + longitude,
   key
  }
  return wechat.request(url, params);
  })
  .then(d => {
  console.log(d);
  console.log("当前地址", d.data.result.address);
  })
  .catch(e => {
  console.log(e);
  })
 }
 
})

html

<map id="myMap" show-location="true" scale="16" />

css

page{
 height: 100%;
}
#myMap{
 width: 100%;
 height: 100%;
}

参考地址:

https://mp.weixin.qq.com/debug/wxadoc/dev/component/map.html#map
https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-map.html

以上所述是小编给大家介绍的微信小程序-获取用户地理位置名称(无须用户授权)的方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
ext form 表单提交数据的方法小结
Aug 08 Javascript
jquery 常用操作方法
Jan 28 Javascript
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
Apr 15 Javascript
js 剪切板应用clipboardData详细解析
Dec 17 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
Sep 17 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
avalon js实现仿微博拖动图片排序
Aug 14 Javascript
vuejs2.0子组件改变父组件的数据实例
May 10 Javascript
vue watch深度监听对象实现数据联动效果
Aug 16 Javascript
webpack dll打包重复问题优化的解决
Oct 10 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
Sep 05 Javascript
Node与Python 双向通信的实现代码
Jul 16 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
Apr 29 #Javascript
微信小程序-form表单提交代码实例
Apr 29 #Javascript
vue在index.html中引入静态文件不生效问题及解决方法
Apr 29 #Javascript
微信小程序传值以及获取值方法的详解
Apr 29 #Javascript
小程序封装wx.request请求并创建接口管理文件的实现
Apr 29 #Javascript
详解JavaScript实现动态的轮播图效果
Apr 29 #Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
Apr 29 #Javascript
You might like
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
PHP is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
javascript 的Document属性和方法集合
2010/01/25 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
详解使用JWT实现单点登录(完全跨域方案)
2019/08/02 Javascript
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
Python 多核并行计算的示例代码
2017/11/07 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
python实现音乐下载的统计
2018/06/20 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
python 穷举指定长度的密码例子
2020/04/02 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
python实现图像外边界跟踪操作
2020/07/13 Python
css3 边框、背景、文本效果的实现代码
2018/03/21 HTML / CSS
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
高三毕业寄语
2014/04/10 职场文书
消防安全责任书范本
2014/04/15 职场文书
小学师德标兵先进事迹材料
2014/05/25 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
2015年见习期个人工作总结
2015/05/28 职场文书
办公室管理规章制度
2015/08/04 职场文书