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


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 相关文章推荐
利用XMLHTTP传递参数在另一页面执行并刷新本页
Oct 26 Javascript
JavaScript DOM 学习第七章 表单的扩展
Feb 19 Javascript
js更优雅的兼容
Aug 12 Javascript
js加入收藏以及使用Jquery更改透明度
Jan 26 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
Aug 01 Javascript
jquery实现搜索框常见效果的方法
Jan 22 Javascript
AngularJS directive返回对象属性详解
Mar 28 Javascript
vue的props实现子组件随父组件一起变化
Oct 27 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
Jul 12 Javascript
Vue组件基础用法详解
Feb 05 Javascript
js实现轮播图特效
May 28 Javascript
Axios取消重复请求的方法实例详解
Jun 15 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
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
PHP,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
python fabric实现远程操作和部署示例
2014/03/25 Python
python中执行shell的两种方法总结
2017/01/10 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
2018/12/20 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
详解HTML5 录音的踩坑之旅
2017/12/26 HTML / CSS
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
建龙钢铁面试总结
2014/04/15 面试题
产品销售计划书
2014/05/04 职场文书
努力学习演讲稿
2014/05/10 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
初中信息技术教学计划
2015/01/22 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
慰问信(范文3篇)
2019/10/23 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python